- Kivy Blueprints
- Mark Vasilkov
- 242字
- 2021-08-06 19:18:46
The starting point
Our "Hello, Kivy" example from the preface is a suitable starting point for this app. We just need to add a layout container, BoxLayout
, so that we can fit more than one widget on the screen later.
This is the full source code at this point:
# File: main.py from kivy.app import App class ClockApp(App): pass if __name__ == '__main__': ClockApp().run() # File: clock.kv BoxLayout: orientation: 'vertical' Label: text: '00:00:00'
Right now, it looks and behaves exactly like the previously seen "Hello, world" app. A BoxLayout
container allows two or more child widgets to coexist side by side, stacking either vertically or horizontally. Given just one nested widget, as in the preceding code, BoxLayout
fills up all the available screen space with it and thus becomes practically unnoticeable (it's as if Label
was a root widget instead, taking over the application window). We will review layouts in more detail later on.
Note
Note that while we may call the main.py
file anything we want, the clock.kv
file is autoloaded by Kivy, and therefore, has to be named after the application class. For example, if our app class is called FooBarApp
, a corresponding .kv
file should be named foobar.kv
(the class name converted to lowercase and without the -app
suffix). Closely following this naming convention allows us to avoid loading Kivy language files manually, which is unequivocally a good thing—less lines of code leading to the same result.
- 計算機網絡
- Oracle WebLogic Server 12c:First Look
- C程序設計簡明教程(第二版)
- Android和PHP開發最佳實踐(第2版)
- 深入淺出Java虛擬機:JVM原理與實戰
- Apache Hive Essentials
- Designing Hyper-V Solutions
- 網頁設計與制作教程(HTML+CSS+JavaScript)(第2版)
- Python機器學習經典實例
- HDInsight Essentials(Second Edition)
- TradeStation交易應用實踐:量化方法構建贏家策略(原書第2版)
- Symfony2 Essentials
- 一塊面包板玩轉Arduino編程
- Python深度學習原理、算法與案例
- JavaScript悟道