Acest articol a fost publicat inițial în Mai 2016 și a fost actualizat cu informații noi.vine un timp în călătoria de cele mai multe orice programator atunci când sunt gata să ramifica trecut exemplele de bază și începe să construiască o interfață grafică pentru programul lor.
în Python, pașii pentru a începe cu programarea GUI nu sunt extrem de complexi, dar necesită ca utilizatorul să înceapă să facă unele alegeri., Prin natura sa ca limbaj de programare cu scop general, cu interpreți disponibili în fiecare sistem de operare comun, Python trebuie să fie destul de agnostic în ceea ce privește alegerile pe care le prezintă pentru crearea interfețelor grafice cu utilizatorul.din fericire, există multe opțiuni disponibile pentru programatorii care doresc să creeze o modalitate ușoară pentru utilizatori de a interacționa cu programele lor. Legăturile există pentru mai multe cadre UI pe o varietate de platforme, inclusiv cele native Pentru Linux, Windows și Mac și multe care funcționează pe toate cele trei.,înainte de a merge mai departe, fiți avocatul diavolului pentru o clipă și întrebați: are sens ca aplicația dvs. să aibă o interfață grafică tradițională de utilizator? Pentru unele programe, răspunsul este evident. Dacă aplicația dvs. este în mod inerent grafică și este fie optimizată, fie are sens să fie rulată local pe o singură mașină locală, atunci da, probabil că ar trebui să luați în considerare construirea unui GUI desktop. De multe ori, acest lucru este evident prin ceea ce proiectați.
dar pentru programele de uz general, nu numărați nici linia de comandă, nici o interfață web., Linia de comandă oferă multe avantaje-viteză, acces de la distanță, reutilizare, scriptabilitate și control—care pot fi mai importante pentru utilizatorii aplicației dvs. decât o interfață grafică și există multe biblioteci precum Click, Cement și Cliff care facilitează proiectarea programelor excelente de linie de comandă.în mod similar, o interfață web, chiar și pentru un program menit să fie rulat local, ar putea fi o opțiune care merită luată în considerare, în special dacă credeți că utilizatorii dvs. ar putea dori să găzduiască aplicația dvs. de la distanță, iar proiecte precum Django, Flask sau Pyramid fac acest lucru simplu., Puteți utiliza chiar și o bibliotecă precum pywebview pentru a pune un înveliș subțire în jurul unei aplicații web într-o fereastră GUI nativă.în mod alternativ, puteți utiliza un cadru precum Pyforms pentru a construi o experiență consistentă pe web, linia de comandă și desktop, toate cu o singură bază de cod.
încă Sigur doriți să construiți o interfață grafică? Mare, aici sunt câteva biblioteci fantastice open source pentru a obține ai început.,PyQt implementează biblioteca populară Qt și, prin urmare, dacă sunteți familiarizați cu dezvoltarea Qt într-o altă limbă, probabil din dezvoltarea de aplicații native pentru KDE sau un alt mediu desktop bazat pe Qt, este posibil să fiți deja familiarizați cu Qt. Acest lucru deschide posibilitatea de a dezvolta aplicații în Python care au un aspect familiar pe multe platforme, profitând în același timp de instrumentele și cunoștințele comunității Qt mari.Qt este bine stabilit în comunitatea de dezvoltatori și are instrumente care reflectă acest lucru., Scrierea aplicațiilor Python în jurul Qt înseamnă că aveți acces la QtCreator, care dispune de un mod de designer pentru a genera cod pentru aspectul aplicației.PyQt este dublu licențiat sub licență comercială și GPL, nu spre deosebire de Proiectul Qt în sine, iar compania principală care susține PyQt oferă o licență FAQ pentru a înțelege ce înseamnă acest lucru pentru aplicația dvs.
pentru o altă opțiune de a utiliza bibliotecile Qt cu Python, luați în considerare Qt pentru Python (cunoscut în mod obișnuit ca PySide2), disponibil sub lpgl.,
Tkinter
Dacă există un singur pachet care ar putea fi numit „standard” GUI toolkit pentru Python, ar fi Tkinter. Tkinter este un înveliș în jurul Tcl/Tk, un popular interfață grafică și limba de asociere a popularizat la începutul anilor ‘ 90. Avantajul de a alege Tkinter este numărul mare de resurse, inclusiv cărți și mostre de cod, precum și o comunitate mare de utilizatori care ar putea fi în măsură să vă ajute dacă aveți întrebări. Exemple Simple sunt ușor de început și destul de lizibile pentru om.,
Tkinter este disponibil sub licența Python, pe lângă licența BSD a Tcl / Tk.
WxPython
WxPython aduce biblioteca wxWidgets cross-platform GUI de la C++ nativ la Python. WxPython arată puțin mai nativ decât Tkinter în diferite sisteme de operare, deoarece folosește widget-urile sistemului gazdă pentru a construi o interfață grafică. Este destul de ușor să începeți și cu o comunitate de dezvoltatori în creștere. Este posibil să fie nevoie să îmbinați wxPython cu aplicațiile dvs. sau să solicitați utilizatorului să îl instaleze singur, deoarece nu este instalat automat cu Python.,
WxPython utilizează Licența Wxwindows Library a proiectului său părinte, care este aprobat OSI.
Python GTK + 3
cunoscut anterior ca PyGTK, proiectul Python GTK+ 3 oferă legături Python la obiecte GTK (windows, widgets, și așa mai departe). GTK+ este cel mai faimos folosit ca fundament pentru desktopul GNOME, dar este disponibil pentru aplicații de sine stătătoare pe Linux, Windows și Mac. Cu Python GTK + 3, același cadru este disponibil pentru proiectele dvs.
când utilizați Python GTK+ 3, puteți utiliza multe dintre aceleași instrumente de dezvoltare create pentru GTK+ în sine., Mai ales, aceasta include Glade, un designer de interfață pentru aplicații GTK+. Interfețele proiectate în Glade sunt salvate ca XML și utilizate de obiectul GtkBuilder din codul aplicației dvs., dar interfața pe care o utilizați este drag-and-drop, ceea ce face ușor să creați o interfață dinamică și receptivă fără a fi nevoie să traduceți ceea ce vedeți în mintea dvs. în cod de aspect.construit cu dezvoltare rapidă și dispozitive moderne în minte, Kivy este un set de instrumente Pentru Linux (inclusiv Raspberry Pi), Windows, Mac și Android., Proiectul este axat pe „interfețe inovatoare”, și a fost folosit pentru aplicații multimedia, cum ar fi muzica controler de aplicații pentru telefoane whiteboarding aplicații care ocupă întregul perete de o sală de ședințe.
Kivy nu are un program de aspect vizual, cum ar fi QtCreator și Glade, dar folosește propriul limbaj de design pentru a vă ajuta să asociați aspectul UI cu obiecte de cod. Acest lucru vă face ușor să compartimentați (atât mental, cât și în codul de aspect) clasele și funcțiile din aplicația dvs., Kivy găzduiește, de asemenea, Kivy Garden, un depozit de widget-uri și suplimente create de utilizatori, așa că dacă vă gândiți să creați ceva ce Kivy în sine nu oferă, este posibil să existe deja în grădină.acestea nu sunt singurele alegeri pe care le aveți la dispoziție, nici măcar pe termen lung. Pentru mai multe opțiuni, consultați pagina „programare GUI în Python” din wiki-ul oficial Python Software Foundation, care listează zeci de alte instrumente. Soluțiile sunt disponibile pentru a lega Python la multe biblioteci widget diferite și instrumente GUI, cum ar fi FLTK, FOX, și multe altele., În timp ce începătorii ar trebui probabil să evite proiectele care oferă doar implementări parțiale sau cele care nu mai sunt întreținute în mod activ, există o mulțime de instrumente bune pentru o varietate de situații.multe dintre opțiunile de acolo sunt pentru aplicațiile tradiționale care iau aspectul și aspectul ferestrei mediului desktop părinte, dar există și momente în care ați putea dori să faceți ceva complet diferit, de exemplu, într-un joc video. Există biblioteci mari și pentru aceste situații, cum ar fi pygame, pyglet și Panda3d.
Leave a Reply