使用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或更多,請使用以下最佳在線編碼資源