官术网_书友最值得收藏!

Chapter 1. Building a Clock App

This book will walk you through the creation of nine little Kivy programs, each resembling a real-world use case for the Kivy framework. On many occasions, the framework will be utilized together with other Python modules fitting for the task at hand. We will see that Kivy provides a great deal of flexibility, allowing us to solve vastly different problems in a clean, concise manner.

Let's start small. In this chapter, we will build a simple Clock app, similar in concept to the built-in application found in both iOS and Android. In the first part of the chapter, we will create a non-interactive digital clock display and style it, giving our program an Android-ish flat look. We will also briefly discuss the event-driven program flow and a Kivy main loop, introducing timers used to perform recurring tasks, such as updating the screen every frame.

In the second part of this chapter, we will add a stopwatch display and controls, creating a fluid layout suitable for any screen size and orientation. A stopwatch, naturally, needs user interaction, which we are going to implement last.

The important topics introduced in this chapter are as follows:

  • The basics of the Kivy language, a built-in domain-specific language (DSL) used to lay out widgets
  • Styling (and eventually subclassing) built-in Kivy components
  • Loading custom fonts and formatting text
  • Scheduling and listening to events

Our finished program, depicted in the following screenshot, will only be about 60 lines long, split equally between a Python source code and a Kivy language (.kv) interface definition file.

Building a Clock App

The final look of the Clock app we're going to build.

主站蜘蛛池模板: 甘肃省| 文安县| 金沙县| 葵青区| 兴化市| 西昌市| 青冈县| 寿光市| 临洮县| 奈曼旗| 公主岭市| 喀喇沁旗| 漠河县| 北安市| 阳城县| 木里| 梨树县| 五河县| 南靖县| 水富县| 江口县| 会泽县| 永善县| 广水市| 土默特左旗| 镇赉县| 郎溪县| 连城县| 宝坻区| 南皮县| 罗平县| 资溪县| 东乡| 临夏县| 绥德县| 桐城市| 格尔木市| 齐齐哈尔市| 濉溪县| 乐业县| 神木县|