การเพิ่มส่วนติดต่อผู้ใช้แบบกราฟิก (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
คำสั่งนี้จะดาวน์โหลดไลบรารีและติดตั้งให้คุณและนั่นคือการตั้งค่าทั้งหมดที่คุณต้องทำ อ่านต่อด้านล่าง EasyGUI ต้องนำเข้าสู่สคริปต์ก่อนที่คุณจะสามารถใช้ฟังก์ชันได้ นี่คือความสำเร็จโดยการป้อนบรรทัดเดียวที่ด้านบนของสคริปต์ของคุณและเหมือนกันโดยไม่คำนึงถึงตัวเลือกส่วนติดต่อ EasyGUI ที่คุณใช้ สร้างสคริปต์ใหม่โดยป้อนคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล: sudo nano easygui.py
หน้าจอว่างเปล่าจะปรากฏขึ้นนี่เป็นไฟล์ที่ว่างเปล่าของคุณ (nano เป็นเพียงชื่อของโปรแกรมแก้ไขข้อความ) หากต้องการนำเข้า EasyGUI ในสคริปต์ของคุณให้ป้อนบรรทัดต่อไปนี้: จากการนำเข้า easygui *
เราใช้การนำเข้าเวอร์ชันเฉพาะนี้เพื่อให้การเข้ารหัสกลายเป็นเรื่องง่ายยิ่งขึ้นในภายหลัง ตัวอย่างเช่นเมื่อนำเข้า eway นี้แทนการเขียน 'easygui.msgbox' เราสามารถใช้ "msgbox" ตอนนี้ขอให้คุณเลือกตัวเลือกส่วนติดต่อที่สำคัญภายใน EasyGUI กล่องข้อความ "นี้" ในรูปแบบที่ง่ายที่สุดจะช่วยให้ผู้ใช้บรรทัดข้อความและคลิกปุ่มเดียวเพื่อคลิก นี่เป็นตัวอย่างเพื่อลอง - ป้อนบรรทัดต่อไปนี้หลังจากบรรทัดนำเข้าและบันทึกโดยใช้ Ctrl + X: msgbox ("Cool box huh?", "ฉันเป็น Message Box")
เมื่อต้องการเรียกใช้สคริปต์ให้ใช้คำสั่งต่อไปนี้: sudo python easygui.py
คุณควรจะเห็นกล่องข้อความปรากฏพร้อมด้วย ฉันเป็นกล่องข้อความ เขียนไว้ในแถบด้านบนและ Cool กล่องใช่มั้ย? เหนือปุ่ม อ่านต่อด้านล่าง บางครั้งคุณจะต้องให้ผู้ใช้ยืนยันการกระทำหรือเลือกว่าจะดำเนินการต่อหรือไม่ กล่อง "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": พิมพ์ข้อความตอบกลับ
อ่านต่อด้านล่าง ปุ่มต่างๆยอดเยี่ยม แต่สำหรับรายการยาว ๆ ของตัวเลือก "กล่องเลือก" ทำให้รู้สึกได้เป็นอย่างดี ลองติดตั้ง 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 พิมพ์ อ่านต่อด้านล่าง คุณสามารถเพิ่มรูปภาพลงในอินเทอร์เฟซ 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 หรือมากกว่าคุณสามารถดูแหล่งข้อมูลการเขียนโปรแกรมออนไลน์ที่ดีที่สุดได้ นำเข้า EasyGUI
กล่องข้อความพื้นฐาน
ดำเนินการต่อหรือยกเลิกกล่อง
กล่องปุ่มกำหนดเอง
กล่องเลือก
กล่องใส่ข้อมูล
การเพิ่มรูปภาพ
คุณสมบัติขั้นสูงเพิ่มเติม