การเพิ่มส่วนติดต่อผู้ใช้แบบกราฟิก (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 box huh?' เหนือปุ่ม
05 จาก 10
ดำเนินการต่อหรือยกเลิกกล่อง
บางครั้งคุณจะต้องให้ผู้ใช้ยืนยันการกระทำหรือเลือกว่าจะดำเนินการต่อหรือไม่ กล่อง 'ccbox' มีบรรทัดข้อความเช่นเดียวกับช่องข้อความพื้นฐานด้านบน แต่มีปุ่ม 2 ปุ่มคือ 'ดำเนินการต่อ' และ 'ยกเลิก'
นี่คือตัวอย่างหนึ่งของการใช้งานโดยมีปุ่มดำเนินการต่อและยกเลิกที่พิมพ์ไปยังเทอร์มินัล คุณสามารถเปลี่ยนการทำงานหลังจากกดปุ่มแต่ละปุ่มเพื่อทำสิ่งที่คุณต้องการ:
จากการนำเข้า easygui * เวลานำเข้า msg = "คุณต้องการดำเนินการต่อหรือไม่?" title = "Continue?" ถ้าเลือกกล่องกาเครื่องหมาย "ดำเนินการต่อ / ยกเลิก" พิมพ์ "ผู้ใช้เลือกต่อไป" # เพิ่มคำสั่งอื่นที่นี่: # ผู้ใช้เลือกยกเลิกพิมพ์ "ผู้ใช้ยกเลิก" # เพิ่มคำสั่งอื่นที่นี่06 จาก 10
กล่องปุ่มกำหนดเอง
หากตัวเลือกกล่องในตัวไม่ค่อยให้สิ่งที่คุณต้องการคุณสามารถสร้างกล่องปุ่มที่กำหนดเองได้โดยใช้คุณลักษณะ "buttonbox"
นี่เป็นวิธีที่ดีถ้าคุณมีตัวเลือกเพิ่มเติมที่ต้องการครอบคลุมหรืออาจจะควบคุม LED จำนวนมากหรือส่วนประกอบอื่น ๆ ด้วย UI
นี่คือตัวอย่างการเลือกซอสสำหรับสั่งซื้อ:
จากการนำเข้าของ easygui * เวลานำเข้า msg = "คุณต้องการซอสอะไร?" reply = buttonbox (msg, choice = choices) ถ้าตอบ == "Mild": พิมพ์ reply ถ้าตอบ == "Hot": พิมพ์ reply ถ้า reply == "Extra Hot": พิมพ์ตอบกลับ07 จาก 10
กล่องเลือก
ปุ่มที่ยอดเยี่ยม แต่สำหรับรายการยาว ๆ ของตัวเลือก 'กล่องเลือก' ทำให้รู้สึกได้มาก ลองติดตั้ง 10 ปุ่มในช่องแล้วคุณจะเห็นด้วยเร็ว ๆ นี้!
กล่องเหล่านี้จะแสดงรายการตัวเลือกที่มีอยู่ในแถวหลัง ๆ ด้วยช่อง 'ตกลง' และ 'ยกเลิก' ที่ด้านข้าง พวกเขาฉลาดพอสมควรเรียงลำดับตัวเลือกตามตัวอักษรและยังช่วยให้คุณสามารถกดคีย์เพื่อข้ามไปยังตัวเลือกแรกของจดหมายนั้น
นี่คือตัวอย่างที่แสดงชื่อสิบชื่อซึ่งคุณสามารถดูได้ถูกจัดเรียงไว้ในภาพหน้าจอ
จากการนำเข้า easygui * เวลานำเข้า msg = "ใครปล่อยให้สุนัขออก?" title = "Missing Dogs" choice = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "ฮันนาห์"] = choicebox (msg, ชื่อเรื่อง, ตัวเลือก)08 จาก 10
กล่องใส่ข้อมูล
ฟอร์มเป็นวิธีที่ดีในการจับภาพข้อมูลสำหรับโครงการของคุณและ EasyGUI มีตัวเลือก 'multenterbox' ที่ช่วยให้คุณสามารถแสดงเขตข้อมูลที่ติดฉลากเพื่อรวบรวมข้อมูลด้วย
อีกครั้งเป็นกรณีของเขตข้อมูลการติดฉลากและเพียงการจับภาพเข้า เราได้สร้างตัวอย่างด้านล่างสำหรับแบบฟอร์มลงทะเบียนสมาชิกห้องออกกำลังกายแบบง่ายๆ
มีตัวเลือกเพื่อเพิ่มการตรวจสอบความถูกต้องและคุณลักษณะขั้นสูงอื่น ๆ ซึ่งเว็บไซต์ของ EasyGUI ครอบคลุมรายละเอียด
จากชื่อเล่น "," อายุ "," น้ำหนัก "] fieldValues = [] # ค่าเริ่มต้น fieldValues = multenterbox (msg, title, fieldNames) print fieldValues09 จาก 10
การเพิ่มรูปภาพ
คุณสามารถเพิ่มรูปภาพลงในอินเทอร์เฟซ EasyGUI ได้ด้วยการรวมโค้ดไว้เป็นจำนวนเล็กน้อย
บันทึกภาพลงใน Raspberry Pi ของคุณในไดเร็กทอรีเดียวกับสคริปต์ EasyGUI ของคุณและจดชื่อไฟล์และนามสกุล (ตัวอย่างเช่น image1.png)
ลองใช้ช่องปุ่มเป็นตัวอย่าง:
จากการนำเข้าของ easygui * เวลานำเข้ารูปภาพ = "RaspberryPi.jpg" msg = "นี่เป็น Raspberry Pi หรือไม่?" = "Yes": พิมพ์ "Yes" else: พิมพ์ "No" = "Yes", "No"] reply = buttonbox (msg, image = image, choices = choice)10 จาก 10
คุณสมบัติขั้นสูงเพิ่มเติม
เราได้นำเสนอตัวเลือก EasyGUI พื้นฐานสำหรับ "Basic" ที่นี่เพื่อช่วยให้คุณเริ่มต้นอย่างไรก็ตามมีตัวเลือกกล่องและตัวอย่างมากมายขึ้นอยู่กับจำนวนที่คุณต้องการเรียนรู้และสิ่งที่โครงการของคุณต้องการ
ช่องรหัสผ่านกล่องรหัสและแม้แต่กล่องไฟล์มีให้เลือกเพื่อระบุชื่อ เป็นไลบรารีอเนกประสงค์ที่ง่ายต่อการรับสัญญาณในไม่กี่นาทีโดยมีความสามารถในการควบคุมฮาร์ดแวร์ที่ยอดเยี่ยมเช่นกัน
หากคุณต้องการเรียนรู้วิธีเขียนโค้ดอื่น ๆ เช่น Java, HTML หรือมากกว่านี่เป็น แหล่งข้อมูลการเขียนโปรแกรมออนไลน์ที่ดีที่สุด