使用EasyGUI制作树莓派简单的GUI

在Raspberry Pi项目中添加图形用户界面(GUI)是一种很好的方式,包括数据输入屏幕,控件的屏幕按钮,或者更聪明的方法来显示传感器等组件的读数。

01 10

为您的项目制作一个界面

EasyGUI是一个快速而简单的项目,可以在这个周末尝试。 理查德萨维尔

Raspberry Pi有许多不同的GUI方法可供使用,但大多数的方法学习曲线陡峭。

对于大多数人来说,Tkinter Python接口可能是默认的“go to”选项,但是,初学者可能会为其复杂性而苦恼。 同样,PyGame库提供了制作令人印象深刻的界面的选项,但可能会因需求而过剩。

如果您想为您的项目寻找一个简单而快速的界面,EasyGUI可能就是答案。 它所具有的图形美观所缺乏的东西,其简单性和易用性使它更胜一筹。

本文将介绍该库,包括我们发现的一些最有用的选项。

02之10

下载并导入EasyGUI

使用apt-get install方法,EasyGUI安装非常简单。 理查德萨维尔

对于本文,我们使用的标准Raspbian操作系统在这里可用。

使用'apt-get install'方法安装库对大多数人来说都是熟悉的过程。 您需要使用有线以太网或WiFi连接在Raspberry Pi上连接互联网。

打开一个终端窗口(Pi任务栏上黑屏的图标)并输入以下命令:

apt-get install python-easygui

该命令将下载库并为您安装,这就是您需要完成的所有设置。

03之10

导入EasyGUI

导入EasyGUI只需要一行。 理查德萨维尔

在使用其功能之前,EasyGUI需要导入到脚本中。 这是通过在脚本的顶部输入一行来实现的,无论您使用哪种EasyGUI界面选项,都是相同的。

通过在终端窗口中输入以下命令来创建一个新脚本:

sudo nano easygui.py

将出现一个空白屏幕 - 这是您的空文件(nano仅仅是文本编辑器的名称)。 要将EasyGUI导入脚本,请输入以下行:

从easygui进口*

我们使用这个特定的导入版本来使编码更容易。 例如,当导入这个eway时,不必编写'easygui.msgbox',我们可以简单地使用'msgbox'。

现在我们来介绍一下EasyGUI中的一些关键接口选项。

04年10月

基本消息框

简单的消息框是从EasyGUI开始的好方法。 理查德萨维尔

该消息框以其最简单的形式为用户提供了一行文本和一个单击按钮。 下面是一个例子 - 尝试在导入行后面输入以下行,并使用Ctrl + X保存:

msgbox(“Cool box huh?”,“我是消息框”)

要运行该脚本,请使用以下命令:

sudo python easygui.py

您应该看到一个消息框出现,在顶部栏中写有'我是消息框','冷却框是吧?'。 在按钮上方。

10的10

继续或取消框

继续/取消框可以将确认添加到您的项目中。 理查德萨维尔

有时您需要用户确认一个操作或选择是否继续。 'ccbox'框提供与上述基本信息框相同的文本行,但提供2个按钮 - '继续'和'取消'。

这里有一个正在使用的例子,其中继续和取消按钮打印到终端。 您可以在每个按钮按下后执行任何您喜欢的操作来更改操作:

来自easygui import * import time msg =“你想继续吗?” title =“继续?” 如果ccbox(msg,title):#显示一个继续/取消对话框打印“用户选择继续”#在这里添加其他命令:#用户选择取消打印“用户取消”#在此处添加其他命令

06年10月

自定义按钮框

'buttonbox'允许您制作自定义按钮选项。 理查德萨维尔

如果内置框选项不能完全满足您的需求,则可以使用“按钮框”功能创建自定义按钮框。

如果您有更多需要覆盖的选项,或者可能正在使用UI控制许多LED或其他组件,这非常棒。

下面是一个选择订单酱的例子:

来自easygui import *进口时间msg =“你喜欢哪种酱汁?” 选择= [“轻度”,“热”,“额外热”]回复= buttonbox(味精,选择=选择)如果答复==“轻度”:打印答复如果答复==“热”:打印答复如果答复== “额外热门”:打印回复

07的10

选择框

选择框适用于较长的项目列表。 理查德萨维尔

按钮非常棒,但对于长长的选项列表,“选择框”非常有用。 尝试在一个盒子中安装10个按钮,你很快就会同意!

这些框依次列出行中的可用选项,旁边有“确定”和“取消”框。 它们非常聪明,按字母顺序排列选项,还可以按一个键跳转到该信件的第一个选项。

下面是一个显示十个名字的例子,你可以看到它已经在屏幕截图中排序。

来自easygui import *进口时间msg =“谁让狗出来?” title =“失踪的狗”选择= [“Alex”,“Cat”,“Michael”,“James”,“Albert”,“Phil”,“Yasmin”,“Frank”,“Tim”,“Hannah” =选择框(味精,标题,选择)

08年10月

数据输入框

'Multenterbox'可以让你从用户那里获取数据。 理查德萨维尔

表单是捕获项目数据的好方法,EasyGUI有一个“multenterbox”选项,允许您显示带标签的字段以捕获信息。

这又是一个标记字段并简单地捕获输入的例子。 下面我们以一个非常简单的健身会员注册表格为例。

可以选择添加验证和其他高级功能,EasyGUI网站将详细介绍这些功能。

from easygui import * import time msg =“会员信息”title =“健身房会员表格”fieldNames = [“名字”,“姓氏”,“年龄”,“体重”] fieldValues = []#起始值fieldValues = multenterbox (msg,title,fieldNames)打印fieldValues

09年10月

添加图像

将图像添加到您的盒子中,以全新的方式使用GUI。 理查德萨维尔

您可以通过添加少量代码将图像添加到EasyGUI界面中。

将图像保存到您的Raspberry Pi中与EasyGUI脚本相同的目录中,并记下文件名和扩展名(例如,image1.png)。

我们以按钮框为例:

from easygui import * import time image =“RaspberryPi.jpg”msg =“这是一款树莓派吗?” 如果答复==“是”:print“Yes”else:print“No”=“Yes”,“No”] reply = buttonbox(msg,image = image,choices = choices)

10 10

更高级的功能

您无法使用EasyGUI制作支付系统,但您可以玩得开心! 理查德萨维尔

我们已经介绍了主要的'基本'EasyGUI选项以帮助您入门,但是,根据您想要学习的内容以及您的项目需求,还有更多的选项和示例供您选择。

密码框,代码框甚至文件框都可以列举出来。 这是一个非常灵活的库,可以在几分钟内轻松完成,并具有一些出色的硬件控制功能。

如果您想了解如何编写其他内容,如Java,HTML或更多,请使用以下最佳在线编码资源