Kivy 教程2025年3月17日 | 阅读18分钟 ![]() Kivy教程提供了Kivy的基础和高级概念。我们的Kivy教程专为初学者和在职专业人士设计。 Kivy是一个适用于Python的跨平台应用程序开发框架。它允许我们在各种平台(如Windows、Linux、Android、macOS、iOS和Raspberry Pi)上开发跨平台应用程序。 在我们的Kivy教程中,我们将讨论以下主题 -
什么是Kivy?
Kivy的特性Kivy具有以下酷炫的特性 - 1. 视频Kivy包含各种模块来播放视频文件和流。Kivy视频播放器还支持一些与视频相关的常见需求,例如播放、暂停、停止按钮,可用作字幕的文本,在视频上向用户显示消息等。 示例:pygame视频提供程序支持Linux上的MPEG1。 2. 多点触控和手势Kivy使用广泛的控件,支持多点触控和手势。Kivy开发人员提供了一个手势库来记录用户的各种手势。 我们可以记录以下三种手势 -
3. UI特性Kivy附带许多控件和组件,可以使我们的移动界面更具吸引力和美观性。它还用于改进单手操作、导航手势、创建新图标或设计元素、暗模式和新动画。 4. 视觉效果和OpenGLKivy使用PyGame轻松创建新游戏。PyGame附带各种模块,用于绘制形状、处理颜色和播放音乐。 5. 灵活Kivy更加灵活,因为它可以运行在各种设备上,包括Linux、手机、Windows、平板电脑、iOS和Raspberry Pi。Kivy的灵活性使其能够快速适应新技术。 6. 免费Kivy框架完全免费使用。要使用Kivy,您的系统上必须安装1 GHz 32位(x86)或64位(x64)CPU、1 GBRAM、128 MB显存和Python。 Kivy的优缺点优点Kivy的优点列表如下 -
缺点
Kivy架构下面的截图显示了Kivy架构 - ![]() Kivy架构包含以下组件 - 1. 核心提供程序和输入提供程序Kivy提供程序主要抽象了各种核心任务,包括打开窗口、显示图像和文本、播放音频、拼写纠正、从摄像头获取图像等。 输入提供程序是一段代码,它帮助我们添加对特定输入设备的支持,如TUIO、鼠标模拟器或Apple的触控板。我们还可以通过提供一个读取设备输入数据并将其转换为Kivy事件的新类来添加对新输入设备的支持。 2. 图形Kivy图形API能够自动优化绘图命令。 3. 核心Core提供了以下功能 -
注意:我们还可以创建新的Kivy缓存,限制为10个对象,超时时间为5秒。
4. UIXUIX模块通常包含控件和布局,用于快速创建用户界面。 小部件 控件是我们添加到程序中的用户界面组件,用于提供某种功能。 示例:文件浏览器、按钮、列表、滑块等。 布局 布局用于排列控件。 5. 模块模块是Kivy应用程序启动时可以在Kivy中加载的类。配置文件用于管理模块的加载。 注意:在Kivy中,我们也可以编写自己的模块。6. 输入事件Kivy输入事件是Kivy架构的重要组成部分。Kivy抽象包含不同的输入事件,如触摸、鼠标、TUIO、鼠标、MTDev和HIDInput。我们还可以为任何单个输入事件添加二维屏幕内位置。 所有输入类型都由`touch()`类的一个实例表征。`touch()`类实例可以有以下三种状态之一。
7. 控件和输入分派术语“控件”在GUI编程中经常用于描述程序中与用户交互的部分。在Kivy中,控件作为接收输入事件的对象。所有控件都以控件树的形式排列。一个控件可以包含任意数量的子控件或不包含任何子控件。 每当新数据可用时,Kivy会为每次触摸发送一个事件。每个事件首先由控件树的根控件接收。 Kivy在Windows上的安装要在Windows上安装Kivy,首先,我们需要在系统上安装Python和Anaconda。 请按照以下步骤安装Python - 步骤1:将以下链接复制并粘贴到任何浏览器中,或者直接单击以下链接 - https://pythonlang.cn/ 步骤2:屏幕上将出现以下页面,在其中单击Downloads,然后从下拉菜单中选择Windows。 ![]() 步骤3:选择Windows的Python发行版本。 ![]() 步骤4:双击下载的文件,屏幕上将出现以下窗口,单击Install Now。 ![]() 步骤5:下图显示Python正在安装中。 ![]() 步骤6:下图显示安装已成功完成。只需单击Close按钮。 ![]() 现在,请按照以下步骤下载Anaconda - 步骤1:单击以下链接安装Anaconda https://anaconda.net.cn/products/individual 步骤2:屏幕上将出现以下页面。向下滚动窗口,然后在屏幕底部单击64-bit Graphical Installer (446 MB)。 ![]() 步骤3:您可以看到Anaconda图形安装程序已开始下载。下载完成后,双击该可执行文件。屏幕上将出现以下窗口,单击Next。 ![]() 步骤4:将出现一个许可证协议窗口,单击I Agree.。 ![]() 步骤5:在“安装类型”中,选择Just Me (recommended)。 ![]() 步骤6: 浏览您想要安装Anaconda的位置,然后单击Next。 ![]() 步骤7: 将出现“高级安装选项”窗口,选中Register Anaconda3 as my default Python 3.7。然后单击Install。 ![]() 步骤8:下图显示Anaconda正在安装中。 ![]() 步骤9:安装完成后,单击Next按钮。 ![]() 步骤10:屏幕上将出现以下窗口,单击Next。 ![]() 步骤11:将出现一个“完成Anaconda设置”窗口,在该窗口上单击Finish。 安装Kivy安装完Anaconda后,我们就可以安装Kivy了。 安装Kivy的步骤如下 - 步骤1:转到Anaconda Prompt。 步骤2:在安装Kivy之前,请使用以下命令先更新pip。 步骤3:安装依赖项 在安装Kivy时,我们需要安装以下3个依赖项。 步骤4:安装Kivy 使用以下命令安装Kivy。 创建Kivy的“Hello World”程序创建Kivy的“Hello World”程序的步骤如下 - 步骤1:打开任何文本编辑器(记事本或Notepad++) 步骤2:在编辑器中编写以下代码。 步骤3:将文件保存为.py扩展名,例如Javatpoint.py 步骤4:打开Anaconda Prompt,并提供保存Kivy程序的有效路径。 步骤5:要运行程序,请使用以下命令并按Enter键。 运行命令后,屏幕上将出现以下输出。 ![]() 在Kivy中添加图片控件Kivy图片控件使用kivy.uix.image模块显示图片。有两种方法可以在Kivy中添加图片。 从系统加载从系统加载时,图片控件用于从系统加载图片。 以下代码用于在Kivy中添加图片控件。 运行代码后,屏幕上将出现以下输出。 ![]() 异步加载异步加载的图像控件用于从外部Web服务器加载图像。 我们可以使用以下代码从外部Web服务器添加图像。 下图显示了从外部Web服务器添加的图像。 ![]() Kivy按钮按钮是每个应用程序的重要组成部分。点击按钮时,它会执行一些特定任务。按钮的主要优点是它允许用户直接与软件和应用程序进行交互。 要在Kivy中创建按钮,我们需要从**kivy.uix.button**导入Button。 输出 ![]() 创建时尚的按钮在Kivy中,我们还可以使用各种不同的背景颜色、`size_hint`和`pos`来设计一个时尚的按钮。 下图显示了时尚按钮的输出。 ![]() 在按钮中添加图片Kivy允许我们在按钮中添加图片,使按钮更有效、更具吸引力。 要在按钮中添加图片,我们需要导入以下模块 代码 输出 ![]() Kivy控件Kivy控件用于在Kivy中开发GUI界面。Kivy控件允许我们创建标签、画布、下拉菜单等。 1. 标签控件Label控件用于渲染文本。为了使标签更具吸引力,我们可以在标签中添加字体大小、颜色和文本颜色。 要创建标签,我们需要导入**from kivy.uix.label import Label**模块。 代码 输出:下图显示了标签的输出。 ![]() 3. 复选框复选框也称为选择框、勾选框。它用于表单中,使表单选项更容易阅读和回答。 代码 下图显示了复选框的输出 ![]() Slider (滑块)滑块用于处理特定数字值,范围在预设的最小值和最大值之间。通常,滑块在手机上用于增加和减小音量以及手机的亮度。 要创建滑块,首先,我们必须导入**from kivy.uix.slider import Slider**模块。 在Kivy中,我们使用以下代码创建范围滑块。 代码 下图显示了滑块的输出。 ![]() 注意:Kivy还支持归一化滑块,其最小值是0,最大值是1。开关控件Switch控件只有两个状态(开或关)。 要创建Switch控件,我们需要导入**from kivy.uix.switch import Switch**模块。 代码 输出:下图显示了Switch控件的输出。 ![]() Progress Bar (进度条)进度条是最重要的图形控件之一,用于分析操作的进度,例如下载进度、文件传输进度、加载应用、保存更新和安装进度。 要创建进度条,首先导入以下模块 from kivy.uix.progressbar import ProgressBar 输出 ![]() 点击“开始”后,屏幕上将出现以下进度条。 ![]() Kivy布局布局是图形设计中最重要的术语。它用于排列元素以获得更好的外观。 我们通常在Kivy中使用以下不同类型的布局。 1. GridLayoutGridLayout旨在以矩形网格的形式排列组件。在GridLayout中,每个矩形网格的大小都完全相同。 要在Kivy中创建Grid布局,首先,我们需要导入以下GridLayout模块 - 实现Grid布局 下图显示了Grid布局的输出。 ![]() 2. BoxLayoutBoxLayout用于根据轴(X轴(水平)和Y轴(垂直))排列组件。 要导入BoxLayout,我们需要使用以下模块导入BoxLayout 实现BoxLayout 下图显示了BoxLayout的输出。 ![]() 3. FloatLayoutFloatLayout用于根据当前窗口的大小(以窗口的高度和宽度为单位)放置元素。 FloatLayout包含`pos_hint`和`size_hint`,它们是其子项的属性。 注意1:FloatLayout主要用于移动应用程序。注意2:默认情况下,所有控件的`size_hint`都是(1,1)。要创建FloatLayout,我们需要导入以下模块。 实现FloatLayout 下图显示了FloatLayout的输出。 ![]() 4. AnchorLayoutAnchorLayout用于将边框对齐到顶部、底部、左侧、右侧或中心。 AnchorLayout使用以下参数进行初始化
我们可以使用以下模块实现Anchor Layout。 以下代码用于创建AnchorLayout。 输出 ![]() 5. StackLayoutStackLayout帮助我们垂直和水平排列按钮。在StackLayout中,并非所有按钮的大小都必须相同,因此我们可以根据需要排列按钮。 要创建StackLayout,我们需要导入以下模块。 代码 StackLayout的输出如下所示。 ![]() 在Kivy中创建弹出窗口弹出窗口是一种突然出现在屏幕上的窗口。通常,当用户访问页面或关闭窗口时,会弹出对话框。 在Kivy中,我们使用以下代码创建弹出窗口。 输出 下图显示了弹出窗口的输出 - ![]() 点击弹出窗口后,屏幕上将出现以下屏幕。 ![]() 在Kivy中创建登录窗口现在,我们将使用Kivy创建一个简单的登录页面。要在Kivy中创建登录页面,我们需要创建以下两个文件 -
注意:这里,我们使用.kv文件来创建登录窗口。.py 文件 .kv 文件 运行代码后,屏幕上将出现以下窗口。 ![]() 情况1:如果用户名和密码为空,则屏幕上将出现以下屏幕。 ![]() 情况2:如果我们输入无效的用户名和密码,屏幕上将出现以下屏幕。 ![]() 情况3:如果我们输入用户名admin和密码admin,则屏幕上将出现以下屏幕。 ![]() 前提条件在学习Kivy之前,您必须具备Python的基本知识,这样才能轻松理解Kivy的概念。 目标受众我们的Kivy教程专为初学者和在职专业人士设计。 问题我们保证您在学习Kivy教程时不会遇到任何困难。但如果发现任何错误,请在联系表单中提交您的问题。 下一主题Kivy中的下拉列表 |
我们请求您订阅我们的新闻通讯以获取最新更新。