在Raspberry Pi项目中添加图形用户界面(GUI)是一种很好的方式,包括数据输入屏幕,控件的屏幕按钮,或者更聪明的方法来显示传感器等组件的读数。
01 10
为您的项目制作一个界面
Raspberry Pi有许多不同的GUI方法可供使用,但大多数的方法学习曲线陡峭。
对于大多数人来说,Tkinter Python接口可能是默认的“go to”选项,但是,初学者可能会为其复杂性而苦恼。 同样,PyGame库提供了制作令人印象深刻的界面的选项,但可能会因需求而过剩。
如果您想为您的项目寻找一个简单而快速的界面,EasyGUI可能就是答案。 它所具有的图形美观所缺乏的东西,其简单性和易用性使它更胜一筹。
本文将介绍该库,包括我们发现的一些最有用的选项。
02之10
下载并导入EasyGUI
对于本文,我们使用的标准Raspbian操作系统在这里可用。
使用'apt-get install'方法安装库对大多数人来说都是熟悉的过程。 您需要使用有线以太网或WiFi连接在Raspberry Pi上连接互联网。
打开一个终端窗口(Pi任务栏上黑屏的图标)并输入以下命令:
apt-get install python-easygui该命令将下载库并为您安装,这就是您需要完成的所有设置。
03之10
导入EasyGUI
在使用其功能之前,EasyGUI需要导入到脚本中。 这是通过在脚本的顶部输入一行来实现的,无论您使用哪种EasyGUI界面选项,都是相同的。
通过在终端窗口中输入以下命令来创建一个新脚本:
sudo nano easygui.py将出现一个空白屏幕 - 这是您的空文件(nano仅仅是文本编辑器的名称)。 要将EasyGUI导入脚本,请输入以下行:
从easygui进口*我们使用这个特定的导入版本来使编码更容易。 例如,当导入这个eway时,不必编写'easygui.msgbox',我们可以简单地使用'msgbox'。
现在我们来介绍一下EasyGUI中的一些关键接口选项。
04年10月
基本消息框
该消息框以其最简单的形式为用户提供了一行文本和一个单击按钮。 下面是一个例子 - 尝试在导入行后面输入以下行,并使用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月
自定义按钮框
如果内置框选项不能完全满足您的需求,则可以使用“按钮框”功能创建自定义按钮框。
如果您有更多需要覆盖的选项,或者可能正在使用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月
数据输入框
表单是捕获项目数据的好方法,EasyGUI有一个“multenterbox”选项,允许您显示带标签的字段以捕获信息。
这又是一个标记字段并简单地捕获输入的例子。 下面我们以一个非常简单的健身会员注册表格为例。
可以选择添加验证和其他高级功能,EasyGUI网站将详细介绍这些功能。
from easygui import * import time msg =“会员信息”title =“健身房会员表格”fieldNames = [“名字”,“姓氏”,“年龄”,“体重”] fieldValues = []#起始值fieldValues = multenterbox (msg,title,fieldNames)打印fieldValues09年10月
添加图像
您可以通过添加少量代码将图像添加到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选项以帮助您入门,但是,根据您想要学习的内容以及您的项目需求,还有更多的选项和示例供您选择。
密码框,代码框甚至文件框都可以列举出来。 这是一个非常灵活的库,可以在几分钟内轻松完成,并具有一些出色的硬件控制功能。
如果您想了解如何编写其他内容,如Java,HTML或更多,请使用以下最佳在线编码资源 。