Hvilke rammer er vanligst?
Når du slår opp Python-dokumentasjonen for grafiske brukergrensesnitt, finner du TkInter. Pakken er en del av standard Python-installasjon. Du kan bruke dette til de enkleste applikasjonene helt fint. Du kan også oppsøke rammer som implementerer noe annet eller legge ting på toppen av TkInter.
Noen av de store, eller rettere, mye brukte systemene for Linux er QT og wxWidgets. Disse er så vanlige, både på Linux, unix-lignende systemer, Mac OS X og Windows, at du må være klar over dem hvis du lager GUI-programmer.
QT er en av standardene for skrivebordet. Det inkluderer også klasser for å håndtere de fleste funksjonene på datamaskinen. Dette inkluderer stikkontakter, tråder, Unicode og sin egen nettleser. PyQt har bindinger til alle delene av dette rammeverket.
wxWidgets Har en veldig stor API med mange widgets og funksjoner. Disse inkluderer det samme som QT, ettersom de er konkurrerende teknologier. Det er forskjeller, men den viktige delen er at hvis du tar sikte på å gjøre noe stort, må du huske de to. Det kan være lurt å bytte når og hvis prosjektet ditt vokser.
Python 2 er ute av vedlikehold!!
Før du bestemmer deg, må du sørge for at du har støtte for Python-versjoner som er høyere enn 3.0. Python versjon 2.0 er tom for vedlikehold siden begynnelsen av 2020.
Tverrplattform eller bare Linux?
I denne artikkelen vil du se noen eksempler, de støttes alle av og støtter distribusjon til Linux. Før du begynner, bør du vurdere hvilken støtte du trenger; både utviklings- og distribusjonsstøtte til andre plattformer? Hvilke?
Først kan vi starte med python-rammer som er små og enkle å komme i gang med nedenfor.
guizero - liten, laget for nybegynnere.
Bruker standard TkInter for komponentene. Den har knapper, avmerkingsbokser og mange andre typer widgets. Selvfølgelig kan du få tekst og vise resultatene, vise bilder og kjøre applikasjoner inne i de opprettede vinduene.
appJar - lærerikt
appJar er ment å være lærerik, derfor har designerne gjort det enkelt å installere. Den enkleste måten; Last ned og pakk ut i katalogen for sitepackages på datamaskinen din. Den er også tilgjengelig på PyPI. Den har få flere funksjoner enn guizero.
Gooey - GUI for kommandolinje!
Er designet for at du skal overføre kommandolinjeverktøyene til en GUI. Den har verktøylinjer, glidebrytere og knapper, som de andre bare er den rettet mot de av dere som allerede har skrevet et skript og vil lage en GUI for det.
Ok nå, la oss se på noen flere rammer med er større med litt mer læringskurve, men alle disse rammene nedenfor har flere muligheter.
Kivy - Jo større valg
Dette er et større rammeverk som tar sikte på å støtte større prosjekter. Du kan bruke dette til de fleste applikasjoner, faktisk støttes de av mange bedrifter for alle krefter.
Sukker - Rettet mot utdanning
Dette er et rammeverk rettet mot utdanningssøknader. Du kan bruke den hvis du tar sikte på å skrive pedagogiske applikasjoner med prangende grafikk. Den er skrevet på mange språk, selv om Python er en stor del av den. Dette er ikke så lett å komme i gang med, men du har et bredt spekter av muligheter tilgjengelig.
IDE-støtte
Når du starter, bruker du kanskje allerede en IDE. Så trenger du å bytte til en annen?
Når du vil lage dine egne applikasjoner, kan du prøve det i et nettbasert grensesnitt. EN REPL, hvis du vil. For å lage sukkeraktiviteter, må du forstå PyGTK. Hvis du allerede programmerer det, kan du fortsette som vanlig. Bare legg til sukkerverktøysettet og utvikle deg som vanlig.
Dette gjelder også de andre. guizero og appJar, trenger for eksempel bare biblioteket slik at du kan importere dem. Gooey krever en pipinstallasjon. Med et virtuelt miljø er det veldig enkelt. Bare bruk PyCharm eller din favoritt Python IDE.
Kivy har en enkel guide for å sette den opp for PyCharm, det finnes også løsninger for Visual Studio, Eclipse og eric6. Til slutt er det enkelt å bare legge til biblioteket og fortsette som vanlig.
Konklusjon
Når du begynner å lage grafiske brukergrensesnitt ved hjelp av Python, har du mange alternativer. Flere av disse alternativene er store og kompliserte. Men hvis du vil starte med noe lite eller bare har noen små rutiner å implementere, kan du bruke de små nevnte ovenfor. Med litt planlegging og et klart mål vil du være i gang på kort tid. Selv de små rammene bygger vanligvis på toppen av de vanlige verktøysettene som er plattformuavhengige. Dette gjør valget til smak fremfor verktøyverktøy.