内容简介:使用Python制作简单的GUI
你将需要什么
硬件
软件
软件安装
要在Raspberry Pi或Mac上安装所需的软件,请在终端中运行以下命令:
sudo pip3 install guizero
如果您正在使用Windows计算机,则需要确保已安装pip。打开命令提示符并键入:
python -m pip install -U pip
安装pip后,在命令提示符下键入:
pip install guizero
什么是GUI?
GUI代表图形用户界面(Graphical User Interface),发音为’gooey’。如果你以前编写过 Python 程序,你所有的输入和输出都可能通过屏幕上显示的文本或用户输入的内容来处理。将GUI添加到程序中,用户可以使用按钮,下拉菜单,文本框,菜单和其他熟悉的用户界面控件来与其交互。
入门
在开始之前,请确保已经安装了 guizero 库。
打开Python 3(IDLE)。
点击File> New File并保存你的文件 gui_test.py 。
在文件的开头添加一行代码,从guizero库中导入App类:
现在添加两行代码来创建一个 App ,然后将其显示在屏幕上:
保存您的文件,然后按F5运行它。你应该看到一个如下所示的GUI窗口:
恭喜,你已经建立了你的第一个GUI应用程序!
添加小部件
我们开始向GUI添加内容。我们将把可以添加到GUI的项目(如文本,文本框,按钮等)称为 小部件 。添加小部件时需遵循一些规则。
举个例子,如果你想使用这个 小部件,你可以把它添加到导入行中,像这样:
在本指南中,我们将要求您导入各种类型的小部件。每种类型的小部件只需要添加到导入列表中一次,然后可以在GUI上多次使用它。
所有创建窗口小部件的代码都必须添加到 事件循环 之前,这意味着在创建应用程序 app.display() 的代码行和代码行之间: 这是因为代码行 app.display() 启动 事件循环 。GUI将等待用户执行诸如点击按钮之类的事情 – 这些被称为 事件 。它会不断检查是否有新的事情发生,并在必要时自动更新显示。事件循环会 阻塞 (就像 while True: 在本指南中,我们将要求您在GUI中添加小部件,这意味着在这两行代码之间的任何位置添加小部件。
文本小部件
您可以添加的最简单的小部件可能是 文本 小部件,它在屏幕上显示一些文本。
添加 到导入语句(如果您不确定如何执行此操作,请阅读“添加小部件”部分的第1步)。
在GUI中添加一个小部件(如果您不确定放置此代码的位置,请阅读“添加小部件”部分的第2步): 在这里,我们已经创建了一个 名称的小部件 。第一个 参数 (在括号中)告诉小部件谁是老板!更具体地说,我们告诉这个 小部件,它将由 我们之前创建的对象来控制。给任何小部件的第一个参数总是告诉它的老板(或“主”)的名称。
按F5运行您的代码。你应该看到这个文本显示在你的GUI上。
你有没有注意到我们可以告诉 小部件我们想要显示哪些内容 ?这被称为关键字参数,因为我们已经指定了关键字 和我们想要的值。我们也可以指定其他关键字参数,只要将它们添加到最后,用逗号分隔即可。 在这里,我们使用关键字参数的 , 和 (注意美式拼写!)。
您可以指定您的计算机安装的任何字体。可以将颜色指定为颜色名称,但不是每个可能的颜色都有一个名称,所以也可以使用十六进制代码(例如#ff0000)来定义颜色。
TextBox小部件
TextBox小部件用于让用户键入数据 – 有点像 您以前可能使用的GUI 函数的版本。以下是如何添加一个:
将 小部件添加到您的导入语句。
添加一个 到GUI:
按F5运行您的代码。你应该看到一个小文本框出现。有一个关键字参数 ,你可以添加,如果你想使框更广泛。
PushButton小部件
PushButton小部件创建一个按钮。按下按钮时,将调用一个函数。
在 创建GUI应用程序的代码 之前 ,编写一个按钮被按下时调用的函数。将所有的功能代码放在程序的开始处,紧跟 在行之后是一个好主意。 这个函数引用了 widget( )并将它的值设置为键入到 widget( )中的值。
您可以使用 和 功能与许多小部件来检索他们的当前值或将其设置为新的东西。
将 小部件添加到您的导入语句。
添加一个 到GUI: 第一个参数告诉PushButton应用程序是它的老板。然后我们使用两个关键字参数 – 告诉按钮哪个函数在被按下时调用,并且 是将在按钮上显示的文本。
按F5运行您的代码。在文本框中输入你的名字,然后按下按钮。你应该看到你的名字显示在顶部的大文本。 您现在已经体验到事件循环如何工作的基础。GUI等待事件(在这种情况下,您单击按钮),并调用一个函数来响应事件。这个函数可能包含代码来改变GUI上的某些东西,如果是的话,显示会相应地更新。
滑块小部件
一个 滑块 可让用户轻松移动一系列值,就像移动音量控制一样。
图片小部件
您可以将图片添加到您的图形用户界面,只要它们是GIF格式。可悲的是,动画GIF只会显示为静止。
以GIF格式查找想要使用的图片,或将现有图片保存为GIF。将图片保存在 Python文件所在的文件夹中。
将 小部件添加到您的导入语句。
添加一个 到GUI:
按F5运行你的代码。你应该看到你的图片出现在GUI上。
评论
您现在已经学会了如何使用一些简单的GUI小部件。如果你想看到一个完整的工作示例,可以在这里找到这个指南的完整代码。
现在让我们看一些更复杂的GUI小部件:组合框,复选框,单选按钮和菜单栏。我们将制作一个简单的电影预订GUI来演示这些小部件。
一个新的应用程序
组合部件
该 组合 部件,您可以选择从下拉列表中选择一个选项。
将 小部件添加到您的导入语句。
在GUI中添加一个小部件:
我们已经 像往常一样指定参数来告诉组合,该应用程序是它的主人。
该 参数是我们希望在显示选项列表 控件。
因为我们 在应用程序中指定,我们现在必须包含 每个小部件的参数,告诉它在哪里出现。网格参数应该是一个包含[x,y]值的列表,您希望窗口小部件出现在网格上,网格上的[0,0]是左上角。我们也可以在网格的正方形内对齐这个小部件,在这种情况下,在左边。
保存你的代码并按F5运行它。请注意,即使我们将网格位置指定为[0,1],组合仍会出现在屏幕的最左上角。这是因为空网格没有高度或宽度,所以网格方形[0,0]是空的,实际上是不存在的。
添加 到您的导入语句,然后添加一个 小部件在网格广场[0,0]提供一些什么人将使用的选择的描述 : 运行该程序检查 和 两者都正确显示。
CheckBox小部件
该 复选框 控件允许您选择或取消选择一个真或假的选择。
ButtonGroup小部件
该 ButtonGroup的 小工具,可以创建一组单选按钮,让你可以选择一组选项中的一个。
将 小部件添加到您的导入语句。
在GUI中添加一个小部件:
让我们仔细看看这个:
告诉按钮,该应用程序是他们的老板。
是一个显示为按钮的选项列表。每个选项也是一个包含将出现的文本的列表,以及与该选项关联的隐藏值。
告诉按钮哪一个被选择开始。
告诉按钮以水平线显示。
是这些按钮将被放置在网格上的地方。
说定位在网格正方形的左边的按钮。
我们还添加了另一个 小部件 来解释按钮的用途。
按F5运行您的代码。你应该看到按钮。程序开始时应该选择“中间”选项,你应该能够在它们之间切换。
完成程序
接下来是什么?
尝试制作自己的GUI程序。也许你可以采取一个你写的旧程序,并给它一个GUI?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
关注我们,获取更多IT资讯^_^
查看所有标签
猜你喜欢:
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们 。