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 - ScrollView 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 - VKeyboard 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 - Atlas Kivy - 数据加载器 Kivy - 缓存管理器 Kivy - 控制台 Kivy - 动画 Kivy - MultiStroke Kivy - 时钟 Kivy - SVG Kivy - UrlRequest Kivy - 剪贴板 Kivy - 工厂 Kivy - 手势 Kivy - 语言 Kivy - 图形 Kivy - 绘图 Kivy - 打包 Kivy - Garden Kivy - 存储 Kivy - 矢量 Kivy - Utils Kivy - Inspector 工具 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()

界面中组装的各种小部件现在吸收用户交互,例如按钮单击或文本输入,并根据相应的事件处理程序做出响应。为了响应用户交互,可以修改任何小部件或应用程序的状态。

要运行应用程序,请从 OS 终端 − 执行以下命令

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)

暂停/恢复

当应用程序运行时,可以暂停。例如,如果应用程序窗口最小化,或者设备本身进入睡眠模式,暂停模式有助于节省资源。

Kivy 有一个 on_pause() 事件处理程序。当请求暂停模式时,它会被调用。如果您的应用程序可以进入暂停模式,您应该返回 True,否则返回 False,您的应用程序将停止。您无法控制应用程序何时进入此模式。它由操作系统决定,主要用于移动设备(Android/iOS)和调整大小。

应用程序可以从暂停点恢复运行。

当您的应用程序从暂停模式恢复时,Kivy 的 on_resume() 事件处理程序会被调用。

恢复时,OpenGL 上下文可能已损坏/释放。您可以在此处重建部分 OpenGL 状态。

停止

当用户通过调用应用程序代码中的适当方法关闭应用程序时。所有清理操作都在应用程序运行终止之前进行。