ชุดเครื่องมือ GUI ที่แนะนำสำหรับการพัฒนา Python บน Raspberry Pi


31

ฉันกำลังสอนลูกสาวของฉัน Python (และตัวฉันเองในระดับหนึ่ง) โดยใช้ Pi และเรามีช่วงเวลาที่ดีมาก - แต่ CLI สามารถพาเราไปได้ไกล ฉันได้เริ่มมองหาชุดเครื่องมืออื่น ๆ โดยเฉพาะwx , QtและGTK สิ่งเหล่านี้ดูเหมือนจะมีการเชื่อมโยงที่ดีสำหรับ Linux โดยทั่วไปถึงแม้ว่าฉันจะไม่สามารถหาข้อมูลจำนวนมากสำหรับ Raspberry Pi ได้ ฉันเปิดให้ชุดเครื่องมืออื่น ๆ เช่นกัน - ตราบใดที่การเชื่อมโยงของงูหลามนั้นดี

ใครบ้างมีประสบการณ์เขียนรหัสหนึ่งในเหล่านี้ใน pi? มีapt-getคำสั่งง่ายๆที่ฉันต้องใช้เพื่อติดตั้งแพ็คเกจที่จำเป็น? ยังดีกว่ามีชุดเครื่องมือพร้อมที่จะไปกับภาพ Raspbian หุ้นหรือไม่

หมายเหตุ: ขณะนี้ฉันกำลังใช้ Raspbian โดยไม่มีปัญหาถึงแม้ว่า Arch กำลังดึงดูดเนื่องจากปัญหา ABI แบบลอยตัวกับโมโน

คำตอบ:


22

ฉันอยากจะแนะนำ Tkinter มันเป็นไลบรารี GUI มาตรฐานสำหรับ Python และเนื่องจากมีการติดตั้งแล้ว IDLE IDE (ซึ่งมาพร้อมกับภาพ Raspbian) ไม่เพียง แต่รองรับ Tkinter แต่เป็นแอพ Tkinter นอกจากนี้หนังสือ Python ส่วนใหญ่จะรวมอย่างน้อยหนึ่งบทในการสร้าง GUI ด้วย Tkinter หากคุณต้องการทรัพยากรเว็บที่คุณจะต้องการที่จะตรวจสอบ Pythonware ของTkinter กวดวิชา ข้อมูลเพิ่มเติมและทรัพยากรที่สามารถพบได้บนหน้า Tkinter Python.org ของ


สำหรับบทช่วยสอน Tkinter ลิงค์สำหรับหน้าที่สอง - นี่คือบทนำถ้าใครต้องการ: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Anonymous Penguin

2

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

อย่างไรก็ตามในช่วงไม่กี่เดือนที่ผ่านมาฉันได้สำรวจPySideซึ่งเป็นกรอบการทำงานที่เข้ากันได้กับ PyQt มีประโยชน์อย่างไม่น่าเชื่อคือQt Designerซึ่งช่วยให้คุณสามารถลากและวางส่วนประกอบ (ปุ่มกด, ปุ่มหมุน, แถบเลื่อน, ช่องทำเครื่องหมาย, ฯลฯ ) และบันทึกเป็นไฟล์ XML ที่มีนามสกุล ".ui" pyside-uicจากนั้นอ่านและสร้างรหัส Python มีวิดีโอแนะนำที่ดีอยู่ที่นั่น

บ่อ Milanovich มีชุด 29 วิดีโอใน Udemy (ราคา $ 15) ซึ่งผมเพิ่งเสร็จ แต่ยังมีหลายฟรีค่าใช้จ่ายที่ระบุไว้บนเว็บไซต์ Qt: http://wiki.qt.io/PySide_Video_Tutorials โบอาจ“ เบี่ยงเบนความสนใจ” เล็กน้อยในบทเรียนของเขาออกไปเที่ยวแทนเจนต์ แต่สำหรับ 29 บทเรียนโดยเฉลี่ย 30 นาทีในแต่ละครั้งมันมีค่า 15 ดอลลาร์แน่นอน

ฉันเพิ่งค้นพบ "ผู้ออกแบบ Qt - PyQt พร้อมด้วยบทช่วยสอนการเขียนโปรแกรม Python GUI " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ) ที่ทำให้ฉันไปยังเว็บไซต์ของผู้นำเสนอซึ่งข้อเสนอ intros เพื่อ Qt, Tkinter และ Kivy https://pythonprogramming.net/gui-development-tutorials/ ฉันไม่ได้ดูพวกเขา แต่จากแบบฝึกหัด Qt Designer ที่ฉันได้ดูฉันรอคอยที่จะพบกับ pythonprogramming.net

เอกสาร PyQt และ PySide อย่างเป็นทางการบางส่วนขาดไปเล็กน้อย ส่วนใหญ่ถูกแปลงผ่านกระบวนการอัตโนมัติบางอย่างจากเอกสาร Qt ดั้งเดิมและบิตหายไปในการแปล ดังนั้นหากเอกสารที่https://pyside.github.io/docs/pyside/ไม่เพียงพอให้ดูเอกสารที่http://doc.qt.io/และลองแปลสิ่งที่คุณอ่านเป็น Python แต่ดูบทเรียนก่อนเพราะพวกเขาจะพาคุณไปไกล

ฉันดู GTK สั้น ๆ เมื่อไม่กี่ปีที่ผ่านมา นอกจากนี้ยังมีนักออกแบบบึง ฉันคิดว่าจะไปตามถนนสายนั้นอีกครั้ง แต่สำหรับสิ่งที่ฉันสนใจดูเหมือนว่าจะมีพลังงานมากขึ้นหลัง Qt ฉันเพิ่งจะเริ่มสำรวจ Kivy เพราะดูเหมือนว่าจะแนะนำให้ทำงานบนหน้าจอสัมผัส

สายไปหน่อย แต่ฉันหวังว่านี่จะช่วยได้


1

tkinter เป็นส่วนขยาย GUI ของ TCL ซึ่งใช้ในช่วงต้นของวงจรการพัฒนา Python IDLE เชลล์คำสั่ง Python ใช้ tkinter

สำหรับ GUI คุณต้องมีบริการ xorg-x11 (daemon) และตัวจัดการการนำเสนอ X11 เป็นที่ที่อุปกรณ์แสดงผลอยู่ มีชื่อขึ้นต้นด้วย xorg-x11-drv-xxxxx X11 เป็นตัวควบคุม HID (อุปกรณ์เชื่อมต่อมนุษย์) เมาส์แท็บเล็ตคีย์บอร์ด ฯลฯ ยังเชื่อมต่อกับบริการ x11

ผู้จัดการงานนำเสนอของฉันคือ Gnome แต่มีอย่างน้อย 1/2 โหล ฉันเข้าใจว่า Xfce เป็นหนึ่งที่เบากว่า

สำหรับเครื่องมือพัฒนา GUI Python ฉันใช้ DrPython (การแก้ไขรหัสการตรวจสอบไวยากรณ์และการดีบัก) wxGlade เป็นสภาพแวดล้อมการพัฒนา GUI สำหรับการลากและวาง Python ที่ค่อนข้างคล้ายกับ Visual Basic ทั้งสองเป็นแอปพลิเคชัน wxPython และไม่ต้องการสิทธิ์พิเศษ พวกเขาสามารถดาวน์โหลดได้จาก sourceforge.net

ฉัน R-Pi-3b อยู่ในการสั่งซื้อ หลานสาวของฉันมีหนึ่งแล้วซึ่งเป็นเหตุผลที่สั่งซื้อ ฉันได้เขียนโปรแกรมมานานกว่า 60 ปีและใน Python มานานกว่าทศวรรษ ฉันได้พัฒนาคอมไพเลอร์จำนวนมากสำหรับภาษาที่กำหนดเองและแอปไคลเอนต์ / เซิร์ฟเวอร์สำหรับระบบอัตโนมัติที่บ้าน


1

ฉันได้พัฒนาแอปพลิเคชั่น GUI ซึ่งรันบน raspberry pi 2,3 ฉันใช้ทั้ง tkinter และ pyQt4

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

ในข้อเสนอแนะของฉันให้ใช้ตัวออกแบบ QT4 เพื่อสร้าง UI ของคุณมันง่ายมากเนื่องจากการลากและวางฟังก์ชั่นในภายหลังคุณสามารถสร้างสคริปต์หลาม. py จากไฟล์. ui โดยใช้คำสั่ง pyuic4 และคุณยังสามารถเพิ่มภาพใน Ui ของคุณโดยใช้ ที่คุณต้องสร้างไฟล์ resosurce.rc ซึ่งในภายหลังคุณต้องแปลงโดยใช้คำสั่ง pyrcc

มีบทเรียนหลายบท


0

ลองดูที่ appJar มันไม่มีคุณสมบัติการลากและวางของ QT4 Designer ที่พูดถึงข้างต้น แต่คุณสามารถสร้าง GUI ที่ดีได้ในเวลาเพียงไม่กี่นาทีขึ้นอยู่กับสิ่งที่คุณพยายามทำ เอกสารบนหน้าเว็บของพวกเขาแสดงตัวอย่างที่ยอดเยี่ยมมากมาย http://appjar.info/


-2

ไปเพื่อ pygtk ที่ดีที่สุดและมั่นคงมั่นคง แต่ยังง่ายสำหรับผู้เริ่มต้น


5
รายละเอียดเพิ่มเติมบางอย่างจะช่วยปรับปรุงคำตอบนี้ (สิ่งที่ทำให้ดีที่สุดเมื่อเปรียบเทียบกับทางเลือกอื่น ๆ ฉันจะติดตั้งอย่างไรสิ่งที่ทำให้มันง่าย)
Steve Robillard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.