Kivy 简明教程
Kivy - App Life Cycle
一个 Kivy 应用程序从执行到停止会经历各个阶段。下图显示了不同阶段 −
![kivy app life cycle](https://www.iokays.com/tutorialspoint/kivy/_images/kivy-app-life-cycle.jpg)
现在,让我们详细讨论每个阶段 −
Initialize UI
Kivy 框架中的 App 类是表示 Kivy 应用程序的那一个类。创建 App 对象是应用程序生命周期中的第一步。
from kivy.app import App
声明 App 类的子类,并覆盖 build() 方法。
from kivy.app import App
class MyApp(App):
def build(self):
#UI Design
它通过调用 build() 方法或在 ".kv" 文件的帮助下构建应用程序的 UI。如果需要,则从相应的 ".ini" 文件加载应用程序的配置。
Event Loop
一旦载入用户界面,App 对象进入一个无限事件循环。
if __name__ == '__main__':
MyApp().run()
现在,界面中组装的各种小部件吸收用户交互(例如按钮单击或文本输入),并根据相应事件处理程序做出响应。响应用户交互,任何小部件或应用程序的状态可能会被修改。
要运行应用程序,请从操作系统终端执行以下命令 −
Python MyApp.py
虽然你可以通过这种方式在 Windows 或 Linux 上运行你的 Kivy 应用程序,但你可能需要采取一些其他步骤才能在 Android 上运行它。对于 Android,你应该构建一个 APK(Android 软件包套件)。
你应该使用 Buildozer ,它是一个可以自动化整个构建过程的工具。它安装了 python-for-android 的所有前提条件,包括 Android SDK 和 NDK,然后构建一个可以自动推送到设备上的 APK。Buildozer 目前仅适用于 Linux 和 macOS(对于 Windows,在机器上激活 WSL,然后从 WSL 中使用 Buildozer)
Pause / Resume
应用程序正在运行时,可以使其暂停。例如,如果应用程序窗口最小化,或者设备本身进入睡眠模式,则暂停模式有助于节省资源。
Kivy 有一个 on_pause() 事件处理程序。在请求暂停模式时调用它。如果你的应用程序可以进入暂停模式,则你应返回 True,否则返回 False,你的应用程序将停止。你无法控制应用程序何时进入此模式。它由操作系统决定,而且主要用于移动设备(Android/iOS)和调整大小。
应用程序可以从暂停的位置恢复运行。
当你的应用程序从暂停模式恢复时,会调用 Kivy 的 on_resume() 事件处理程序。
恢复时,OpenGL 上下文可能已损坏/释放。在这里,你可以重建一些 OpenGL 状态。