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

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

01 จาก 10

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

EasyGUI เป็นโครงการที่ง่ายและรวดเร็วในการทดลองใช้ช่วงสุดสัปดาห์นี้ Richard Saville

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

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

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

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

02 จาก 10

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

การติดตั้ง EasyGUI ทำได้ง่ายด้วยวิธี 'apt-get install' Richard Saville

สำหรับบทความนี้เราใช้ระบบปฏิบัติการมาตรฐานของ Raspbian ซึ่งมีอยู่ที่นี่

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

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

apt-get ติดตั้ง python-easygui

คำสั่งนี้จะดาวน์โหลดไลบรารีและติดตั้งให้คุณและนั่นคือการตั้งค่าทั้งหมดที่คุณต้องทำ

03 จาก 10

นำเข้า EasyGUI

การนำเข้า EasyGUI ใช้เวลาเพียงบรรทัดเดียว Richard Saville

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

สร้างสคริปต์ใหม่โดยป้อนคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล:

sudo nano easygui.py

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

จากการนำเข้า easygui *

เราใช้การนำเข้าเวอร์ชันเฉพาะนี้เพื่อให้การเข้ารหัสกลายเป็นเรื่องง่ายยิ่งขึ้นในภายหลัง ตัวอย่างเช่นเมื่อนำเข้า eway นี้แทนการเขียน 'easygui.msgbox' เราสามารถใช้ 'msgbox' ได้

ตอนนี้ขอให้คุณเลือกตัวเลือกส่วนติดต่อที่สำคัญภายใน EasyGUI

04 จาก 10

กล่องข้อความพื้นฐาน

กล่องข้อความง่ายๆเป็นวิธีที่ยอดเยี่ยมสำหรับ EasyGUI Richard Saville

กล่องข้อความนี้ในรูปแบบที่ง่ายที่สุดช่วยให้ผู้ใช้บรรทัดข้อความและปุ่มเดียวที่จะคลิก นี่เป็นตัวอย่างเพื่อลอง - ป้อนบรรทัดต่อไปนี้หลังจากบรรทัดนำเข้าและบันทึกโดยใช้ Ctrl + X:

msgbox ("Cool box huh?", "ฉันเป็น Message Box")

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

sudo python easygui.py

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

05 จาก 10

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

กล่องดำเนินการต่อ / ยกเลิกสามารถเพิ่มการยืนยันโครงการของคุณได้ Richard Saville

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

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

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

06 จาก 10

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

ปุ่ม 'buttonbox' ช่วยให้คุณสามารถสร้างตัวเลือกปุ่มที่กำหนดเองได้ Richard Savlle

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

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

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

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

07 จาก 10

กล่องเลือก

กล่องเลือกเป็นสิ่งที่ดีสำหรับรายการที่ยาวขึ้นของรายการ Richard Saville

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

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

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

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

08 จาก 10

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

'Multenterbox' ช่วยให้คุณสามารถจับภาพข้อมูลจากผู้ใช้ Richard Saville

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

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

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

จากชื่อเล่น "," อายุ "," น้ำหนัก "] fieldValues ​​= [] # ค่าเริ่มต้น fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 จาก 10

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

เพิ่มรูปภาพลงในกล่องของคุณเพื่อเป็นแนวทางใหม่ในการใช้ GUI Richard Saville

คุณสามารถเพิ่มรูปภาพลงในอินเทอร์เฟซ 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 ได้ แต่คุณสามารถเล่นแกล้งทำเป็นได้! Richard Saville

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

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

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