向Raspberry Pi项目添加图形用户界面(GUI)是一种很好的方式,可以包含用于数据输入的屏幕,用于控件的屏幕按钮,甚至可以更智能地显示来自传感器等组件的读数。
01 of 10为您的项目创建一个界面
Raspberry Pi有许多不同的GUI方法,但大多数都有陡峭的学习曲线。
对于大多数人来说,Tkinter Python界面可能是默认的“首选”选项,但初学者可能会对其复杂性感到困惑。类似地,PyGame库提供了制作令人印象深刻的接口的选项,但可能会超出要求。
如果您正在为项目寻找简单快捷的界面,EasyGUI就是您的最佳选择。它缺乏图形美感,它的简单性和易用性弥补了它的不足。
本文将向您介绍该库,包括我们发现的一些最有用的选项。
继续阅读下面
02 of 10下载和导入EasyGUI
对于本文,我们使用标准的Raspbian操作系统。
使用“apt-get install”方法安装库对大多数人来说是一个熟悉的过程。您需要使用有线以太网或WiFi连接在Raspberry Pi上进行互联网连接。
打开终端窗口(Pi的任务栏上的黑屏图标)并输入以下命令:
apt-get install python-easygui
此命令将下载库并为您安装,这就是您需要执行的所有设置。 继续阅读下面 在使用其功能之前,需要将EasyGUI导入脚本。这是通过在脚本顶部输入单行来实现的,无论您使用哪种EasyGUI接口选项,都是相同的。 通过在终端窗口中输入以下命令来创建新脚本: sudo nano easygui.py
将出现一个空白屏幕 - 这是您的空文件(nano只是文本编辑器的名称)。要将EasyGUI导入脚本,请输入以下行: 来自easygui import *
我们使用此特定版本的导入,以便以后更容易编码。例如,在导入此eway时,我们可以简单地使用“msgbox”,而不必编写“easygui.msgbox”。 现在让我们介绍一下EasyGUI中的一些关键界面选项。 这个“消息框”以其最简单的形式为用户提供了一行文本和一个单击按钮。这是一个尝试的示例 - 在导入行后输入以下行,然后使用保存 按Ctrl + X: msgbox(“酷盒吧?”,“我是留言箱”)
要运行该脚本,请使用以下命令: sudo python easygui.py
您应该会看到一个消息框,其中包含 我是一个留言箱 写在顶栏,和 酷盒子吧? 在按钮上方。 继续阅读下面 有时您需要用户确认操作或选择是否继续操作。 “ccbox”框提供与上面基本消息框相同的文本行,但提供了2个按钮 - 继续 和 取消. 这是一个正在使用的示例,其中continue和cancel按钮打印到终端。您可以在按下每个按钮后更改操作以执行您喜欢的任何操作: 来自easygui import *进口时间msg =“你想继续吗?”title =“继续吗?”如果ccbox(msg,title):#显示继续/取消对话框 打印“用户选择继续” #在这里添加其他命令 否则:#user选择取消 打印“用户已取消” #在这里添加其他命令 06年10月 如果内置框选项不能满足您的需求,您可以使用“按钮框”功能创建自定义按钮框。 如果您有更多需要覆盖的选项,或者可能正在使用UI控制多个LED或其他组件,那么这非常有用。 以下是为订单选择酱料的示例: 来自easygui import *导入时间msg =“你想要哪种酱?”选择= “温和”,“热”,“额外热”reply = buttonbox(msg,choices = choices)if reply ==“Mild”: 打印回复如果回复==“热门”: 打印回复如果回复==“额外热”: 打印回复
继续阅读下面 按钮很棒,但对于很长的选项列表,“选择框”很有意义。尝试在一个盒子中安装10个按钮,你很快就会同意! 这些框一个接一个地列出行中的可用选项,旁边有一个“确定”和“取消”框。它们相当聪明,按字母顺序排序选项,还允许您按一个键跳转到该字母的第一个选项。 这是一个显示十个名称的示例,您可以看到它们已在屏幕截图中排序。 来自easygui import *进口时间msg =“谁让狗出去?”title =“失踪的狗”选择= “Alex”,“Cat”,“Michael”,“James”,“Albert”,“Phil”,“Yasmin”,“Frank”,“Tim”,“Hannah”choice = choicebox(msg,title,choices) 08/10 表单是捕获项目数据的好方法,EasyGUI有一个“multenterbox”选项,允许您显示标记的字段以捕获信息。 再一次是标记字段并简单捕获输入的情况。我们在下面举了一个非常简单的健身房会员注册表格。 可以选择添加验证和其他高级功能,EasyGUI网站详细介绍了这些功能。 来自easygui import *进口时间msg =“会员信息”title =“健身房会员表”fieldNames = “名字”,“姓氏”,“年龄”,“体重”fieldValues = #起始值fieldValues = multenterbox(msg,title,fieldNames)print fieldValues 继续阅读下面 您可以通过包含非常少量的代码将图像添加到EasyGUI界面。 将图像保存到与EasyGUI脚本相同的目录中的Raspberry Pi,并记下文件名和扩展名(例如, image1.png ). 我们以按钮框为例: 来自easygui import *进口时间image =“RaspberryPi.jpg”msg =“这是Raspberry Pi吗?”选项= “是”,“否”reply = buttonbox(msg,image = image,choices = choices)如果回复==“是”: 打印“是”其他: 打印“否” 10个中的10个 我们已经介绍了主要的“基本”EasyGUI选项,以帮助您入门,但是,根据您想要学习的内容以及项目的要求,还有更多的框选项和示例可用。 密码框,代码框甚至文件框都可以列举。它是一个非常通用的库,很容易在几分钟内完成,并具有一些很好的硬件控制可能性。 如果您想学习如何编写其他内容,如Java,HTML或更多,您可以看到最好的在线编码资源。 导入EasyGUI
基本消息框
继续或取消框
自定义按钮框
选择框
数据输入框
添加图像
更多高级功能