Toolkit GUI yang disarankan untuk pengembangan Python di Raspberry Pi


31

Saya mengajar putri saya Python (dan saya sendiri sampai tingkat tertentu) menggunakan Pi, dan kami telah bersenang-senang sejauh ini - tetapi CLI hanya bisa membawa kami sejauh ini. Saya sudah mulai melihat toolkit lain, khususnya wx , Qt dan GTK . Ini semua tampaknya memiliki ikatan besar untuk Linux pada umumnya, meskipun saya tidak dapat menemukan banyak info khusus untuk Raspberry Pi. Saya juga terbuka untuk toolkit lainnya - selama binding python bagus.

Apakah ada yang punya pengalaman coding ke salah satu dari ini pada pi? Apakah ada apt-getperintah sederhana yang harus saya jalankan untuk menginstal paket yang diperlukan? Lebih baik lagi, apakah ada toolkit yang siap untuk digunakan dengan gambar raspbian stok?

Catatan: Saya saat ini menggunakan Raspbian tanpa masalah, meskipun Arch menggoda karena masalah ABI yang mengambang dengan mono.

Jawaban:


22

Saya akan merekomendasikan Tkinter, ini adalah pustaka GUI standar untuk Python, dan sebagai hasilnya sudah diinstal. IDE IDLE (yang disertakan dengan gambar Raspbian) tidak hanya mendukung Tkinter tetapi juga merupakan aplikasi Tkinter. Selain itu sebagian besar buku Python akan menyertakan setidaknya satu bab tentang cara membuat GUI dengan Tkinter. Jika Anda lebih suka sumber daya web, Anda akan ingin melihat tutorial Tkinter Pythonware . Informasi dan sumber daya tambahan dapat ditemukan di halaman Tkinter Python.org .


Untuk tutorial Tkinter, tautannya adalah untuk halaman kedua - ini adalah intro jika ada yang menginginkannya: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Anonymous Penguin

2

Saya melakukan sedikit waktu dengan Tkinter 15 tahun yang lalu, kemudian beberapa tahun kemudian saya melakukan sesuatu dengan wx. Sementara saya bisa menyelesaikan pekerjaan, saya menemukan keduanya agak membosankan. Saya tidak tahu seberapa besar situasinya telah membaik sejak saya terakhir menggunakannya - atau seberapa banyak pembelajaran saya sendiri akan membuatnya lebih mudah hari ini.

Namun, dalam beberapa bulan terakhir, saya telah menjelajahi PySide , yang merupakan kerangka kerja yang kompatibel dengan PyQt. Sangat berguna adalah Qt Designer , yang memungkinkan Anda untuk menarik dan melepas komponen (tombol, panggilan, slider, kotak centang, dll.) Dan menyimpannya sebagai file XML dengan ekstensi ".ui". pyside-uic kemudian membaca itu dan menghasilkan kode Python. Ada beberapa video tutorial HEBAT di luar sana.

Bo Milanovich memiliki 29 seri video tentang Udemy (seharga $ 15) yang baru saja saya selesaikan, tetapi juga memiliki beberapa bebas biaya yang tercantum di situs Qt: http://wiki.qt.io/PySide_Video_Tutorials . Bo bisa sedikit "terganggu" dalam pelajarannya, pergi bersinggungan, tetapi untuk 29 pelajaran rata-rata setiap 30 menit, itu pasti bernilai $ 15.

Saya juga baru-baru ini menemukan " Qt Designer - PyQt dengan tutorial Pemrograman GUI Python " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ). Itu membawa saya ke situs presenter yang menawarkan intro ke Qt, Tkinter, dan Kivy https://pythonprogramming.net/gui-development-tutorials/ . Saya belum menonton mereka, tetapi berdasarkan tutorial Qt Designer yang saya tonton, saya menantikan yang ada di pythonprogramming.net.

Beberapa dokumentasi resmi PyQt dan PySide agak kurang. Sebagian besar dikonversi melalui beberapa proses otomatis dari dokumentasi Qt asli, dan bit hilang dalam terjemahan. Jadi, jika dokumen di https://pyside.github.io/docs/pyside/ kurang, lihat dokumen di http://doc.qt.io/ dan coba terjemahkan apa yang Anda baca ke Python. Tapi tonton tutorialnya terlebih dahulu, karena akan membawa Anda jauh.

Saya sempat melihat GTK beberapa tahun yang lalu. Ini juga memiliki desainer, rawa. Saya mempertimbangkan untuk menyusuri jalan itu lagi, tetapi untuk hal-hal yang saya minati, sepertinya ada lebih banyak energi di belakang Qt. Saya HANYA mulai menjelajahi Kivy, karena sepertinya direkomendasikan untuk pekerjaan layar sentuh.

Agak terlambat, tapi saya harap ini membantu.


1

tkinter adalah ekstensi GUI ke TCL yang digunakan sangat awal dalam siklus pengembangan Python. IDLE shell perintah Python menggunakan tkinter.

untuk GUI Anda memerlukan layanan xorg-x11 (daemon) dan manajer presentasi. X11 adalah tempat driver perangkat layar hidup. Nama-nama di sana dimulai dengan xorg-x11-drv-xxxxx. X11 adalah pengontrol HID (Perangkat Antarmuka Manusia). Tikus, tablet, keyboard, dll juga terhubung ke layanan x11.

Manajer presentasi saya adalah Gnome, tetapi setidaknya ada 1/2 lusin dari mereka. Saya mengerti Xfce adalah salah satu yang lebih ringan.

Untuk alat pengembangan GUI Python saya menggunakan DrPython (pengeditan kode, pemeriksaan sintaks, dan debugging). wxGlade adalah drag dan drop lingkungan pengembangan GUI Python sangat mirip dengan Visual Basic. Keduanya adalah aplikasi wxPython dan tidak memerlukan hak akses root. Mereka dapat diunduh dari sourceforge.net

R-Pi-3b saya sedang dipesan. Cucu perempuan saya sudah memiliki satu, itulah sebabnya pesanan dilakukan. Saya telah memprogram lebih dari 60 tahun dan menggunakan Python selama lebih dari satu dekade. Saya telah mengembangkan sejumlah kompiler untuk bahasa khusus dan aplikasi klien / server untuk otomatisasi rumah.


1

Saya telah mengembangkan aplikasi GUI yang berjalan pada raspberry pi 2,3. Saya menggunakan tkinter dan pyQt4.

Tetapi di mana tkinter dan pyQt4 membutuhkan lebih banyak pengkodean untuk menempatkan widget Anda dan dibutuhkan banyak waktu untuk pengaturan tata letak.

Dalam saran saya gunakan desainer QT4 untuk membuat UI Anda. Ini sangat mudah karena fungsi drag and drop, nanti Anda dapat menghasilkan skrip python .py dari file .ui menggunakan perintah pyuic4 dan Anda juga dapat menambahkan gambar di Ui Anda menggunakan qt4 designer untuk Anda harus membuat file resosurce.rc yang nantinya harus Anda konversikan menggunakan perintah pyrcc.

Ada beberapa tutorial yang tersedia.


0

Lihatlah appJar. Ini tidak memiliki fitur drag and drop QT4 Designer yang dibicarakan di atas, Tapi Anda dapat membuat GUI yang bagus hanya dalam beberapa menit tergantung pada apa yang ingin Anda capai. Documents pada halaman web mereka menunjukkan banyak contoh bagus. http://appjar.info/


-2

pergi untuk pygtk yang terbaik dan stabil rock solid namun mudah bagi pemula


5
Beberapa detail tambahan akan membantu meningkatkan jawaban ini (apa yang membuatnya menjadi yang terbaik dibandingkan dengan alternatif lain, bagaimana cara menginstalnya, apa yang membuatnya mudah).
Steve Robillard
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.