- Kivy 教程
- Kivy - 首页
- Kivy 基础
- Kivy - 开始
- Kivy - 安装
- Kivy - 架构
- Kivy - 文件语法
- Kivy - 应用
- Kivy - Hello World
- Kivy - 应用生命周期
- Kivy - 事件
- Kivy - 属性
- Kivy - 输入
- Kivy - 行为
- Kivy 按钮
- Kivy - 按钮
- Kivy - 按钮事件
- Kivy - 按钮颜色
- Kivy - 按钮大小
- Kivy - 按钮位置
- Kivy - 圆形按钮
- Kivy - 禁用按钮
- Kivy - 图片按钮
- Kivy 组件
- Kivy - 组件
- Kivy - 标签
- Kivy - 文本输入
- Kivy - 画布
- Kivy - 线
- Kivy - 复选框
- Kivy - 下拉列表
- Kivy - 窗口
- Kivy - 滚动视图
- Kivy - 轮播
- Kivy - 滑块
- Kivy - 图片
- Kivy - 弹出窗口
- Kivy - 开关
- Kivy - 微调器
- Kivy - 分隔器
- Kivy - 进度条
- Kivy - 气泡
- Kivy - 标签页面板
- Kivy - 散点图
- Kivy - 手风琴
- Kivy - 文件选择器
- Kivy - 颜色拾取器
- Kivy - 代码输入
- Kivy - 模态视图
- Kivy - 切换按钮
- Kivy - 相机
- Kivy - 树视图
- Kivy - reStructuredText
- Kivy - 动作栏
- Kivy - 视频播放器
- Kivy - 模板视图
- Kivy - 虚拟键盘
- Kivy - 触摸涟漪
- Kivy - 音频
- Kivy - 视频
- Kivy - 拼写
- Kivy - 效果
- Kivy - 输入记录器
- Kivy - OpenGL
- Kivy - 文本
- Kivy - 文本标记
- Kivy - 设置
- Kivy 布局
- Kivy - 布局
- Kivy - 浮动布局
- Kivy - 网格布局
- Kivy - 箱式布局
- Kivy - 堆叠布局
- Kivy - 锚点布局
- Kivy - 相对布局
- Kivy - 分页布局
- Kivy - 循环布局
- Kivy - 布局嵌套
- Kivy 高级概念
- Kivy - 配置对象
- Kivy - 图集
- Kivy - 数据加载器
- Kivy - 缓存管理器
- Kivy - 控制台
- Kivy - 动画
- Kivy - 多笔画
- Kivy - 时钟
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪贴板
- Kivy - 工厂
- Kivy - 手势
- Kivy - 语言
- Kivy - 图形
- Kivy - 绘图
- Kivy - 打包
- Kivy - Garden
- Kivy - 存储
- Kivy - 向量
- Kivy - 工具
- Kivy - 检查器
- Kivy - 工具
- Kivy - 日志记录器
- Kivy - 帧缓冲区
- Kivy 应用和项目
- Kivy - 绘图应用
- Kivy - 计算器应用
- Kivy - 计时器应用
- Kivy - 相机处理
- Kivy - 图片查看器
- Kivy - 贝塞尔曲线
- Kivy - 画布压力测试
- Kivy - 圆形绘制
- Kivy - 组件动画
- Kivy - 其他
- Kivy 有用资源
- Kivy - 快速指南
- Kivy - 有用资源
- Kivy - 讨论
Kivy - 应用生命周期
一个 Kivy 应用从执行到停止会经历不同的阶段。下图显示了这些不同的阶段:
现在让我们详细讨论每个阶段:
初始化 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”文件加载。
事件循环
加载用户界面后,App 对象进入无限事件循环。
if __name__ == '__main__': MyApp().run()
界面中组装的各种组件现在会吸收用户交互,例如按钮点击或文本输入,并根据相应的事件处理程序做出响应。响应用户交互,任何组件或应用的状态都可能被修改。
要运行应用程序,请从操作系统终端执行以下命令:
Python MyApp.py
你可以在 Windows 或 Linux 上以这种方式运行你的 Kivy 应用,但要在 Android 上运行它,你可能需要采取一些额外的步骤。对于 Android,你应该构建一个 APK(Android Package Kit)。
你应该使用**Buildozer**,这是一个自动化整个构建过程的工具。它安装 python-for-android 的所有先决条件,包括 android SDK 和 NDK,然后构建一个可以自动推送到设备的 APK。Buildozer 目前仅在 Linux 和 macOS 上运行(对于 Windows,请在机器上激活 WSL,然后在 WSL 中使用 Buildozer)。
暂停/恢复
应用运行时,可以将其暂停。例如,如果应用程序窗口最小化,或设备本身进入睡眠模式,暂停模式有助于节省资源。
Kivy 有一个 on_pause() 事件处理程序。请求暂停模式时会调用它。如果你的应用可以进入暂停模式,则应返回 True,否则返回 False,你的应用程序将停止。你无法控制应用程序何时进入此模式。它由操作系统决定,主要用于移动设备(Android/iOS)和调整大小。
应用可以从暂停点恢复运行。
当你的应用程序从暂停模式恢复时,Kivy 的 on_resume() 事件处理程序将被调用。
恢复时,OpenGL 上下文可能已损坏/释放。你可以在此处重建部分 OpenGL 状态。
停止
这是用户通过调用应用代码中适当的方法来关闭应用时。在应用运行终止之前,将执行所有清理操作。