- 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 框架编写的应用程序由继承自“kivy.app.App”类的类的对象表示。调用此对象的 run() 方法启动应用程序,并进入无限事件循环。
应用程序 GUI 通过重写 App 类中的 build() 方法或提供相应的“.kv”文件来设置。
应用程序配置
如果要提供一个或多个参数的自定义配置,则在调用 App 类的 build_config() 方法时将创建一个 config.ini 文件。
这是一个 build_config() 方法的示例。它将两个参数的值存储在“ini”文件的“section1”部分中。“ini”文件的名称将与应用程序类名称相同(如果应用程序类名称后缀为“App”,则去掉“App”)。因此,如果您的应用程序类是“HelloApp”,则将创建“hello.ini”文件。“ini”文件中的参数将在调用 build() 方法时加载。
def build_config(self, config): config.setdefaults('section1', { 'Company': 'TutorialsPoint', 'year': '2023' })
添加部分后,将在包含“hello.py”文件的同一目录中创建“hello.ini”文件。
如下所示在 build() 方法中加载和使用配置设置:
def build(self): config = self.config l1 = Label(text="© {} Year {}".format( config.get('section1', 'company'), config.getint('section1', 'year')), font_size=40) return l1
运行应用程序时,将通过读取“config”文件填充 Label。
示例
这是完整的程序:
from kivy.app import App from kivy.uix.label import Label from kivy.core.window import Window class HelloApp(App): Window.size = (720, 300) def build_config(self, config): config.setdefaults('section1', { 'Company': 'TutorialsPoint', 'year': '2023' }) def build(self): config = self.config l1 = Label(text="© {} Year {}".format( config.get('section1', 'company'), config.getint('section1', 'year')), font_size=40) return l1 app = HelloApp() app.run()
输出
运行应用程序时,它将生成以下窗口作为输出:
查找应用程序文件夹中创建的“hello.ini”文件。使用文本编辑器打开它时,它显示以下内容:
[section1] company = TutorialsPoint year = 2023
App 类中的实例方法
App 类定义以下实例方法:
build() - 此方法初始化应用程序,并且仅调用一次。如果此方法返回一个小部件(树),它将用作根小部件并添加到窗口。
build_config() - 此方法在初始化应用程序之前构造 ConfigParser 对象。根据您在此处放置的任何默认节/键/值配置,将在本地目录中创建“ini”文件。
load_config() - 此函数返回包含应用程序配置的 ConfigParser。
load_kv() - 如果之前没有为此应用程序构建小部件树,则第一次运行应用程序时将调用此方法。然后,此方法会在与包含应用程序类的文件相同的目录中查找匹配的“kv”文件。
pause() - 此方法使应用程序暂停。
run() - 调用此方法时,它将以独立模式启动应用程序。
stop() - 此方法停止应用程序。
on_pause() - 这是一个事件处理程序方法,在请求暂停模式时调用。如果它返回 True,则应用程序可以进入暂停模式,否则应用程序将停止。
on_resume() - 从暂停模式恢复应用程序的事件处理程序方法。
on_start() - 此方法是“on_start”事件的事件处理程序。它在初始化之后(在调用 build() 之后)但应用程序开始运行之前触发。
on_stop() - 应用程序运行结束后(即窗口即将关闭)触发的“on_stop”事件。此方法处理 on_stop 事件。