Skip to main content

สร้าง GUI แบบง่ายด้วย Pi Raspberry ที่ใช้ EasyGUI

สอน Qt Programming for Raspberry Pi ตอนที่ #1 (HelloWorld) (มิถุนายน 2025)

สอน Qt Programming for Raspberry Pi ตอนที่ #1 (HelloWorld) (มิถุนายน 2025)
Anonim

การเพิ่มส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) กับโครงการ Raspberry Pi ของคุณเป็นวิธีที่ยอดเยี่ยมในการรวมหน้าจอสำหรับการป้อนข้อมูลปุ่มบนหน้าจอสำหรับการควบคุมหรือแม้กระทั่งวิธีที่ชาญฉลาดในการแสดงการอ่านจากส่วนประกอบเช่นเซ็นเซอร์

01 จาก 10

สร้างอินเทอร์เฟซสำหรับโครงการของคุณ

มีหลายวิธีที่แตกต่างกัน GUI สำหรับ Raspberry Pi แต่ส่วนใหญ่มีเส้นโค้งการเรียนรู้สูงชัน

อินเทอร์เฟซ Tkinter Python อาจเป็นตัวเลือก "ไปสู่" เริ่มต้นสำหรับผู้เริ่มต้น แต่ผู้เริ่มต้นสามารถต่อสู้กับความซับซ้อนของมันได้ ในทำนองเดียวกันห้องสมุด PyGame มีตัวเลือกสำหรับการสร้างอินเทอร์เฟซที่น่าประทับใจ แต่อาจเกินความต้องการ

หากคุณกำลังมองหาอินเทอร์เฟซที่ง่ายและรวดเร็วสำหรับโครงการของคุณ EasyGUI อาจเป็นคำตอบ สิ่งที่ขาดในความงามแบบกราฟิกนั้นมีมากกว่าความเรียบง่ายและใช้งานง่าย

บทความนี้จะให้ข้อมูลเบื้องต้นเกี่ยวกับห้องสมุดซึ่งรวมถึงตัวเลือกที่มีประโยชน์มากที่สุดที่เราพบ

อ่านต่อด้านล่าง

02 จาก 10

กำลังดาวน์โหลดและนำเข้า EasyGUI

สำหรับบทความนี้เราใช้มาตรฐานระบบปฏิบัติการ Raspbian

การติดตั้งไลบรารีจะเป็นกระบวนการที่คุ้นเคยมากที่สุดโดยใช้วิธี "apt-get install" คุณจะต้องเชื่อมต่ออินเทอร์เน็ตกับ Raspberry Pi ของคุณโดยใช้การเชื่อมต่อ Ethernet หรือ WiFi แบบมีสาย

เปิดหน้าต่างเทอร์มินัล (ไอคอนของหน้าจอสีดำบนแถบงานของ Pi) และป้อนคำสั่งต่อไปนี้:

apt-get ติดตั้ง 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?", "ฉันเป็น Message Box")

เมื่อต้องการเรียกใช้สคริปต์ให้ใช้คำสั่งต่อไปนี้:

sudo python easygui.py

คุณควรจะเห็นกล่องข้อความปรากฏพร้อมด้วย ฉันเป็นกล่องข้อความ เขียนไว้ในแถบด้านบนและ Cool กล่องใช่มั้ย? เหนือปุ่ม

อ่านต่อด้านล่าง

05 จาก 10

ดำเนินการต่อหรือยกเลิกกล่อง

บางครั้งคุณจะต้องให้ผู้ใช้ยืนยันการกระทำหรือเลือกว่าจะดำเนินการต่อหรือไม่ กล่อง "ccbox" มีบรรทัดข้อความเช่นเดียวกับช่องข้อความพื้นฐานด้านบน แต่มี 2 ปุ่ม - ต่อ และ ยกเลิก.

นี่คือตัวอย่างหนึ่งของการใช้งานโดยมีปุ่มดำเนินการต่อและยกเลิกที่พิมพ์ไปยังเทอร์มินัล คุณสามารถเปลี่ยนการทำงานหลังจากกดปุ่มแต่ละปุ่มเพื่อทำสิ่งที่คุณต้องการ:

จากการนำเข้า easygui *เวลานำเข้าmsg = "คุณต้องการดำเนินการต่อหรือไม่?"title = "Continue?"ถ้า ccbox (msg, title): # แสดงกล่องโต้ตอบดำเนินการ / ยกเลิก พิมพ์ "ผู้ใช้เลือกดำเนินการต่อ" # เพิ่มคำสั่งอื่นที่นี่ อื่น: ผู้ใช้ # เลือกยกเลิก พิมพ์ "ผู้ใช้ยกเลิก" # เพิ่มคำสั่งอื่นที่นี่ 06 จาก 10

กล่องปุ่มกำหนดเอง

ถ้าตัวเลือกกล่องในตัวไม่ค่อยให้สิ่งที่คุณต้องการคุณสามารถสร้างกล่องปุ่มที่กำหนดเองได้โดยใช้คุณลักษณะ "buttonbox"

นี่เป็นวิธีที่ดีถ้าคุณมีตัวเลือกเพิ่มเติมที่ต้องการครอบคลุมหรืออาจจะควบคุม LED จำนวนมากหรือส่วนประกอบอื่น ๆ ด้วย UI

นี่คือตัวอย่างการเลือกซอสสำหรับสั่งซื้อ:

จากการนำเข้า easygui *เวลานำเข้า msg = "คุณชอบซอสไหน?"choice = "Mild", "Hot", "Extra Hot"reply = buttonbox (msg, choices = choices) ถ้าตอบ == "อ่อน": พิมพ์ข้อความตอบกลับถ้าตอบ == "ร้อน": พิมพ์ข้อความตอบกลับถ้าตอบ == "Extra Hot": พิมพ์ข้อความตอบกลับ

อ่านต่อด้านล่าง

07 จาก 10

กล่องเลือก

ปุ่มต่างๆยอดเยี่ยม แต่สำหรับรายการยาว ๆ ของตัวเลือก "กล่องเลือก" ทำให้รู้สึกได้เป็นอย่างดี ลองติดตั้ง 10 ปุ่มในช่องแล้วคุณจะเห็นด้วยเร็ว ๆ นี้!

กล่องเหล่านี้จะแสดงรายการตัวเลือกที่มีอยู่ในแถวหลัง ๆ ด้วยช่อง 'ตกลง' และ 'ยกเลิก' ที่ด้านข้าง พวกเขาฉลาดพอสมควรเรียงลำดับตัวเลือกตามตัวอักษรและยังช่วยให้คุณสามารถกดคีย์เพื่อข้ามไปยังตัวเลือกแรกของจดหมายนั้น

นี่คือตัวอย่างที่แสดงชื่อสิบชื่อซึ่งคุณสามารถดูได้ถูกจัดเรียงไว้ในภาพหน้าจอ

จากการนำเข้า easygui *เวลานำเข้าmsg = "ใครปล่อยให้สุนัขออก?"title = "Missing Dogs"ตัวเลือก Alex, Cat, Michael, James, Albert, Phil, Yasmin, Frank, Tim,choice = choicebox (msg, ชื่อเรื่อง, ตัวเลือก) 08 จาก 10

กล่องใส่ข้อมูล

ฟอร์มเป็นวิธีที่ดีในการจับภาพข้อมูลสำหรับโครงการของคุณและ EasyGUI มีตัวเลือก 'multenterbox' ที่ช่วยให้คุณสามารถแสดงเขตข้อมูลที่ติดฉลากเพื่อรวบรวมข้อมูลด้วย

อีกครั้งเป็นกรณีของเขตข้อมูลการติดฉลากและเพียงการจับภาพเข้า เราได้สร้างตัวอย่างด้านล่างสำหรับแบบฟอร์มลงทะเบียนสมาชิกห้องออกกำลังกายแบบง่ายๆ

มีตัวเลือกเพื่อเพิ่มการตรวจสอบความถูกต้องและคุณลักษณะขั้นสูงอื่น ๆ ซึ่งเว็บไซต์ของ EasyGUI ครอบคลุมรายละเอียด

จากการนำเข้า easygui *เวลานำเข้าmsg = "ข้อมูลสมาชิก"title = "แบบฟอร์มสมาชิกห้องออกกำลังกาย"fieldNames = "ชื่อ", "นามสกุล", "อายุ", "น้ำหนัก"fieldValues ​​= # ค่าเริ่มต้นfieldValues ​​= multenterbox (msg, title, fieldNames)fieldValues ​​พิมพ์

อ่านต่อด้านล่าง

09 จาก 10

การเพิ่มรูปภาพ

คุณสามารถเพิ่มรูปภาพลงในอินเทอร์เฟซ EasyGUI ได้ด้วยการรวมโค้ดไว้เป็นจำนวนเล็กน้อย

บันทึกภาพลงใน Raspberry Pi ของคุณในไดเร็กทอรีเดียวกับสคริปต์ EasyGUI ของคุณและจดชื่อไฟล์และส่วนขยาย (ตัวอย่างเช่น image1.png ).

ลองใช้ช่องปุ่มเป็นตัวอย่าง:

จากการนำเข้า easygui *เวลานำเข้าimage = "RaspberryPi.jpg"msg = "นี่เป็นราสเบอร์รี่ Pi?"choice = "ใช่", "ไม่ใช่"reply = buttonbox (msg, image = image, choices = choice)ถ้าตอบ == "ใช่": พิมพ์ "ใช่"อื่น: พิมพ์ "ไม่" 10 จาก 10

คุณสมบัติขั้นสูงเพิ่มเติม

เราได้กล่าวถึงตัวเลือก EasyGUI พื้นฐาน "Basic" ที่นี่เพื่อช่วยให้คุณเริ่มต้นอย่างไรก็ตามมีตัวเลือกกล่องและตัวอย่างมากมายขึ้นอยู่กับว่าคุณต้องการเรียนรู้มากเพียงใดและสิ่งที่โครงการของคุณต้องการ

ช่องรหัสผ่านกล่องรหัสและแม้แต่กล่องไฟล์มีให้เลือกเพื่อระบุชื่อ เป็นไลบรารีอเนกประสงค์ที่ง่ายต่อการรับสัญญาณในไม่กี่นาทีโดยมีความสามารถในการควบคุมฮาร์ดแวร์ที่ยอดเยี่ยมเช่นกัน

หากคุณต้องการเรียนรู้วิธีเขียนโค้ดอื่น ๆ เช่น Java, HTML หรือมากกว่าคุณสามารถดูแหล่งข้อมูลการเขียนโปรแกรมออนไลน์ที่ดีที่สุดได้