使用 Kivy 构建跨平台 GUI 应用

17 Mar 2025 | 4 分钟阅读

1. Kivy 安装

我们需要 PyGame 来使用 Kivy。PyGame 是最早的 Python 游戏开发包之一。

注意:我使用的是 Windows 操作系统和 Python。请查阅 Kivy 在线文档了解 Mac OS。

我们将使用“pip”先安装 PyGame,然后安装 Kivy。如果您安装了任何版本的 Python 2 或 Python 3,您已经拥有 pip。安装 Python 库的命令是 pip。

要安装,请打开命令提示符并键入以下命令

2. 第一个 Kivy 程序

成功安装 Kivy 后,您就可以启动您的第一个简单程序了。打开您在 PC 上安装的 IDE,例如 IDLE、Sublime、Atom、VS Code 或其他程序。请打开一个新文件并为其指定 (.py) 扩展名,例如 SimpleKivy.py

通过键入以下文本输入

上面的语句导入了 Kivy App,通知控制台正在使用 Kivy。然后是对 Kivy 版本的要求。虽然这不是必需的,但如果您打算使用 Kivy 的更新功能,这样做至关重要。

我们从 Kivy 的 UIX 包中获取“Label”包。该包可以提取许多其他项。例如,为了开发我们的主应用程序“SimpleKivy”,我们从 Kivy 的 App 类(在第一行导入)派生。我们只返回一个简单的 Label,上面写着“Hello World!”

之后,在您的结论中陈述以下内容

这些语句确定脚本是作为“主”脚本执行还是仅引用其他脚本。如果脚本是正在运行的主脚本,它将调用 run() 方法,如“SimpleKivy”().run()”。

运行应用程序时,您应该会看到类似这样的内容

Build Cross - Platform GUI Apps with Kivy

3. Kivy 小部件

小部件是由多个组件组成的集合,用于构建应用程序。例如,主页上的登录页面。我们可以在主页上包含“用户名”和“密码”等文字。然后,需要一些文本字段用于输入。要使用 Kivy 完成此操作,我们将使用 Label 来显示文本,并使用文本输入小部件来允许用户输入文本。

像往常一样导入所需的实用程序

请注意我们导入的 Grid Layout。Kivy 中有许多不同的布局,包括这个。使用 Grid Layout 使我们的应用程序呈网格状。我们也导入了 TextInput。因此,我们可以在程序中使用文本输入字段。

关键字参数 (**kwargs)

"self.Cols = 2" 表示它跨越两列(记住我们正在使用 Grid Layout)。

LoginScreen 类将从 GridLayout 派生。同时使用 super 和多重继承以避免引用基类。

Self.Add widget(Label(text="Username:")) 在说明中添加了“Username”标签。

第三行添加了该小部件,第二行添加了用于将其保存为用户名的文本字段。

可以使用上述行类似地构建密码标签和输入。

请注意,上面第二行有“password =True”这句话。出于安全原因,此参数会将文本输入更改为星号,从而隐藏密码。

现在我们用这段著名的代码完成

在这种情况下,唯一的区别是添加了“return LoginScreen()”,它返回我们上面创建的类。登录屏幕类()。

更不用说我们的 run() 方法了。

如果一切顺利,并且我们的应用程序已发布,我们应该会看到类似这样的内容

Build Cross - Platform GUI Apps with Kivy

就是这样。您可以在应用程序界面中包含各种元素,例如按钮、复选框和单选按钮。这些有助于创建功能更强大、用户友好的界面。Kivy 使您能够自定义 UI 元素和背景图像,以满足您的独特需求。

4. 打包应用程序

最后,您可以使用 python-for-android 项目生成应用程序包(apk),在 Android 上称为“apk”。此页面说明了如何下载并直接在计算机上使用它。