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