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 应用程序窗口每次只容纳一个小部件。因此,如果您尝试添加两个按钮,则只会显示第二个按钮。另一方面,良好的 GUI 需要不同的小部件,即标签、文本输入框、按钮等,并按照人体工程学方式放置。为此,Kivy 框架提供了布局。布局本身是一个能够容纳其他小部件的小部件。因此,布局被称为容器小部件

在 Kivy 中,有不同类型的布局容器可用。它们都实现了"kivy.uix.layout"模块中定义的布局接口。 Layout 接口本身继承了 Widget 类。

此接口的两个最重要的方法是 −

  • add_widget()

  • remove_widget()

add_widget()

此方法用于将新小部件添加为此布局的子项。其语法如下 −

add_widget(self, widget, *args, **kwargs)

参数

  • widget − 要添加到我们的子项列表中的小部件。

  • index −索引以将小部件插入列表中。请注意,默认值为 0 表示小部件插入到列表的开头,因此将绘制在其他同级小部件之上。

  • canvas − 要将小部件的画布添加到的画布。对于默认画布,可以是"before"、"after"或 None。

remove_widget

此方法用于从此小部件的子项中删除小部件。它的语法如下 −

remove_widget(self, widget, *args, **kwargs)

其中,参数 "widget" 代表要从子列表中删除的小部件。

请注意,Layout 是一个接口,因此不能直接使用。实现这些方法的 Layout 类是具体类,如以下列表所示 −

Sr.No 方法 &描述
1

AnchorLayout

Widget 可以锚定在"顶部"、"底部"、"左侧"、"右侧"或"中心"。

2

BoxLayout

Widget 按顺序排列,方向可以是"垂直"或"水平"。

3

FloatLayout

Widget 基本上不受限制。

4

RelativeLayout

子 widget相对于布局进行定位。

5

GridLayout

小部件排列在由rows和cols属性定义的网格中。

6

PageLayout

用于创建简单的多页布局,以便使用边框轻松地从一页翻到另一页。

7

ScatterLayout

小部件的定位类似于RelativeLayout,但它们可以平移、旋转和缩放。

8

StackLayout

Widget 以 lr-tb(从左到右,然后从上到下)或 tb-lr 的顺序堆叠。

在后续章节中,我们将通过相关示例详细讨论每种布局。