當前位置: 妍妍網 > 碼農

在樹莓派上實作圖形化使用者介面(GUI)開發

2024-05-26碼農

在樹莓派上實作圖形化使用者介面(GUI)開發

樹莓派是一款小巧、功能強大的單板電腦,自推出以來,由於其低成本和靈活性,它已經成為了DIY愛好者、教育者和開發者的熱門選擇。讓我們來看看怎樣在樹莓派上實作圖形化使用者介面(GUI)開發,以及如何使用Tkinter和Qt等工具來設計界面、處理事件和實作使用者互動,從而建立具有圖形界面的應用程式。

樹莓派

Tkinter入門

Tkinter是Python的標準GUI(圖形化使用者介面)庫,它為Tk GUI工具集提供了一個封裝。由於其簡單性和易於學習的特點,它是許多初學者的首選。在樹莓派上使用Tkinter可以快速地建立出簡單的GUI套用。

Tkinter範例視窗

安裝Tkinter

在樹莓派上,Python和Tkinter通常已經預安裝好了。你可以透過執行以下命令來確認Tkinter是否安裝並確定其版本:

python3 -m tkinter

這將開啟一個簡單的Tkinter視窗,表示安裝成功。

建立一個簡單的GUI套用

接下來,讓我們建立一個簡單的Tkinter套用。這個套用將包含一個按鈕,當使用者點選按鈕時,套用會顯示一個訊息對話方塊。

首先,建立一個Python檔,比如 simple_gui.py ,並添加以下程式碼:

import tkinter as tkfrom tkinter import messageboxdefshow_message(): messagebox.showinfo("Message", "You clicked the button!")root = tk.Tk()root.title("Simple Tkinter App")button = tk.Button(root, text="Click Me", command=show_message)button.pack()root.mainloop()

在這段程式碼中,我們匯入了 tkinter 模組,並定義了一個名為 show_message 的函式,該函式會在按鈕被點選時呼叫以彈出訊息對話方塊。然後,我們建立了一個Tk視窗,設定了其標題,添加了一個按鈕,並透過 command 參數將按鈕的點選事件與 show_message 函式繫結。

執行這段程式碼後,將會出現一個包含"Click Me"按鈕的視窗。點選這個按鈕,將彈出一個訊息對話方塊。

Qt入門

Qt是一個跨平台的C++框架,用於開發GUI應用程式。它強大且功能豐富,相比於Tkinter,Qt適合用於構建更復雜的應用程式。在Python中,可以透過PyQt或PySide模組來存取Qt框架。

安裝PyQt

在樹莓派上安裝PyQt,我們需要使用pip。執行以下命令來安裝PyQt5:

pip3 install pyqt5

建立一個簡單的Qt套用

現在讓我們建立一個簡單的Qt套用,展示如何建立一個包含一個按鈕的視窗,當按鈕被點選時關閉套用。

建立一個名為 simple_qt.py 的檔,並寫入以下程式碼:

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayoutdef on_button_clicked(): app.exit()app = QApplication([])window = QWidget()window.setWindowTitle('Simple Qt App')layout = QVBoxLayout()button = QPushButton('Click me!')button.clicked.connect(on_button_clicked)layout.addWidget(button)window.setLayout(layout)window.show()app.exec_()

在這裏,我們首先例項化了一個 QApplication 和一個 QWidget (作為我們的主視窗使用)。我們為視窗設定了標題,並建立了一個按鈕( QPushButton )。之後,我們將按鈕的 clicked 訊號連線到了我們自訂的 on_button_clicked 函式,該函式呼叫 app.exit() 來關閉套用。

執行這段程式碼後,將出現一個包含"Click me!"按鈕的視窗。點選按鈕將關閉視窗。

結語

無論是選擇Tkinter還是Qt,樹莓派都為GUI開發提供了強大的平台。Tkinter由於其簡單性,是初學者和那些需要快速制作原型的開發者的理想選擇。而Qt則適用於需要更多功能和復雜界面的應用程式開發。隨著你對這些工具的探索,你將能夠建立出功能豐富、外觀吸引人的樹莓派GUI套用。

如果喜歡我的內容,不妨點贊關註,我們下次再見!

大家註意:因為微信最近又改了推播機制,經常有小夥伴說錯過了之前被刪的文章,或者一些限時福利,錯過了就是錯過了。所以建議大家加個 星標 ,就能第一時間收到推播。

點個喜歡支持我吧,點個 在看 就更好了