Set de instrumente GUI recomandat pentru dezvoltarea Python pe Raspberry Pi (Raspberry Pi, Dezvoltare Software, Python, Gui, Ide)

Goyuix a intrebat.

O învăț pe fiica mea Python (și pe mine însumi într-o oarecare măsură) folosind Pi și ne-am simțit foarte bine până acum – dar CLI-ul ne poate duce doar până la un anumit punct. Am început să mă uit la alte seturi de instrumente, în special la wx, Qt și GTK. Toate acestea par să aibă legături excelente pentru Linux în general, deși nu am reușit să găsesc multe informații specifice pentru Raspberry Pi. Sunt deschis și la alte seturi de instrumente – atâta timp cât legăturile python sunt bune.

Are cineva vreo experiență în ceea ce privește codarea pe unul dintre acestea pe pi? Există o aplicație simplă apt-get comandă pe care trebuie să o execut pentru a instala pachetele necesare? Mai bine, există un set de instrumente gata să meargă cu imaginea Raspbian stoc?

Notă: În prezent, folosesc Raspbian fără probleme, deși Arch este tentant din cauza problemelor ABI hard-float cu mono.

6 răspunsuri
Steve Robillard

Aș recomanda Tkinter, este biblioteca GUI standard pentru Python și, ca urmare, este deja instalată. IDLE IDE (care este inclus cu imaginea Raspbian) nu numai că suportă Tkinter, dar este el însuși o aplicație Tkinter. În plus, majoritatea cărților despre Python vor include cel puțin un capitol despre crearea de interfețe grafice cu Tkinter. Dacă preferați resursele web, veți dori să consultați Pythonware’s Tkinter tutorial. Informații și resurse suplimentare pot fi găsite pe pagina Tkinter de pe Python.org.

Comentarii

Ubuntourist

Am făcut un pic de timp cu Tkinter acum 15 ani, apoi câțiva ani mai târziu am făcut ceva cu wx. Deși am reușit să fac lucruri, mi s-au părut amândouă un pic plictisitoare. Nu știu cât de mult s-a îmbunătățit situația de când le-am folosit ultima dată – sau cât de mult propria mea învățare le-ar face să pară mai ușoare astăzi.

Cu toate acestea, în ultimele câteva luni, am explorat PySide, care este un cadru compatibil cu PyQt. Incredibil de utilă este aplicația Qt Designer, care vă permite să trageți și să fixați componente (butoane, cadrane, cursoare, casete de selectare etc.) și să le salvați ca fișier XML cu extensia „.ui”. pyside-uic citește apoi acest fișier și produce cod Python. Există niște videoclipuri tutoriale GRELE.

Bo Milanovich are o serie de 29 de videoclipuri pe Udemy (pentru 15 dolari) pe care tocmai am terminat-o, dar are și câteva gratuite listate pe site-ul Qt: http://wiki.qt.io/PySide_Video_Tutorials. Bo poate fi un pic „distras” în lecțiile sale, plecând pe tangente, dar pentru 29 de lecții cu o durată medie de 30 de minute fiecare, a meritat cu siguranță 15 dolari.

De asemenea, am găsit recent „Qt Designer – tutorialul de programare a interfețelor grafice PyQt cu Python” (https://www.youtube.com/watch?v=Dmo8eZG5I2w). Acesta m-a condus la site-ul prezentatorului, care oferă introduceri la Qt, Tkinter și Kivy https://pythonprogramming.net/gui-development-tutorials/. Nu le-am vizionat, dar pe baza tutorialului Qt Designer pe care l-am vizionat, aștept cu nerăbdare cele de pe pythonprogramming.net.

O parte din documentația oficială PyQt și PySide este puțin deficitară. O mare parte din ea a fost convertită printr-un proces automatizat din documentația Qt originală, iar unele părți s-au pierdut în traducere. Așadar, dacă documentația de la https://pyside.github.io/docs/pyside/ sunt insuficiente, consultați documentația de la http://doc.qt.io/ și încercați să traduceți ceea ce citiți în Python. Dar urmăriți mai întâi tutorialele, deoarece acestea vă vor ajuta mult.

M-am uitat pentru scurt timp la GTK acum câțiva ani. Are și un designer, glade. M-am gândit să merg din nou pe acest drum, dar pentru lucrurile care m-au interesat, părea să existe mai multă energie în spatele Qt. Am început să explorez Kivy, deoarece pare să fie recomandat pentru lucrul cu ecranul tactil.

Un pic cam târziu, dar sper că vă ajută.

Ancient-Geek

tkinter este extensia GUI pentru TCL care a fost folosită foarte devreme în ciclul de dezvoltare Python. IDLE, shell-ul de comandă Python, folosește tkinter.

pentru o interfață grafică aveți nevoie de un serviciu xorg-x11 (un daemon) și de un manager de prezentare. X11 este locul unde se află driverele dispozitivelor de afișare. Numele acestora încep cu xorg-x11-drv-xxxxx. X11 este un controler HID (Human Interface Device). Mouse-urile, tabletele, tastaturile etc. se conectează, de asemenea, la serviciul x11.

Managerul meu de prezentare este Gnome, dar există cel puțin 1/2 duzină. Am înțeles că Xfce este unul dintre cele mai ușoare.

Pentru instrumentele de dezvoltare GUI Python folosesc DrPython (editare de cod, verificare a sintaxei și depanare). wxGlade este un mediu de dezvoltare GUI Python de tip drag and drop destul de asemănător cu Visual Basic. Ambele sunt aplicații wxPython și nu necesită privilegii de root. Acestea pot fi descărcate de pe sourceforge.net

R-Pi-3b-ul meu este în comandă. Nepoata mea are deja unul, motiv pentru care a fost făcută comanda. Programez de peste 60 de ani și în Python de mai bine de un deceniu. Am dezvoltat o serie de compilatoare pentru limbaje personalizate și aplicații client/server pentru automatizări casnice.

Yatish Prasad

Am dezvoltat o aplicație GUI care rulează pe raspberry pi 2,3.Am folosit atât tkinter cât și pyQt4.

Dar unde atât tkinter cât și pyQt4 necesită mult mai multă codificare pentru plasarea widget-urilor și necesită mult timp pentru aranjarea layout-ului.

Sugestia mea este să folosiți QT4 designer pentru a vă crea UI.Este foarte ușor datorită funcționalității drag and drop, mai târziu puteți genera scriptul python .py din fișierul .ui folosind comanda pyuic4 și puteți, de asemenea, să adăugați imagini în Ui folosind qt4 designer, pentru aceasta trebuie să creați un fișier resosurce.rc pe care mai târziu trebuie să îl convertiți folosind comanda pyrcc.

Sunt disponibile mai multe tutoriale.

Chad G

Aruncați o privire la appJar. Nu are caracteristicile de drag and drop ale QT4 Designer despre care s-a vorbit mai sus, Dar puteți crea o interfață grafică frumoasă în doar câteva minute, în funcție de ceea ce încercați să realizați. Documentele de pe pagina lor web arată multe exemple grozave. http://appjar.info/

ngprnk

optați pentru pygtk, este cel mai bun și stabil, solid ca o stâncă, dar ușor pentru începători.

Comentarii

  • Câteva detalii suplimentare ar ajuta la îmbunătățirea acestui răspuns (ce îl face cel mai bun în comparație cu alte alternative, cum îl instalez, ce îl face ușor). –  > Por Steve Robillard.