Komme i gang med grafiske brukergrensesnitt i Python

Innholdsfortegnelse

I denne opplæringen skal vi sette Eksempler på implementering av GUI -applikasjoner i Python, det er mange moduler for å jobbe med et grafisk grensesnitt, her har vi valgt Tkinter, siden det kommer forhåndsinstallert med Python, og det vil hjelpe oss å se hvordan vi jobber på denne måten, selv om vi på slutten vil se et lite eksempel på PyQt.

Vi kan sjekke om Tkinter modulen er riktig installert ved hjelp av:

 python -m tkinter
MerkI Python 2 ville det være den første store t: Tkinter, siden den i Python 3 ble omdøpt.

Hvis den er riktig installert, ser vi at et vindu som det nedenfor vises:

Hvis vi ikke ser en feil, vil det indikere at den ikke kan finne denne modulen:

Slik installerer du modulen i Python 3 i Debian -distribusjoner:

 sudo apt-get install python3-tk
For andre versjoner, se følgende lenke. Opplæringen er fokusert på å gi et førsteinntrykk om å jobbe med GUI i Python, hvis du er ny på dette emnet, så vil det hjelpe deg, hvis du er på utkikk etter avanserte emner, er dette ikke den riktige opplæringen.

MerkHer skal vi jobbe med Python 3, vi importerer biblioteket som følger:

 importere tkinter
Men i Python 2 må du importere den som følger, vi snakket allerede om at den ble omdøpt:
 importere Tkinter

Vi skal starte opplæringseksemplet med eksempel, vi starter med det enkleste og kompliserer det på slutten.

Eksempel 1
Vi vil lage et enkelt vindu for dette, vi skriver følgende kode:

 import tkinter vindu = tkinter.Tk () vindu = tkinter.mainloop ()
Med den første linjen importerer vi den nødvendige modulen, den neste oppretter hovedvinduet, og hvis vi fjerner den siste instruksjonen, vil vinduet ikke bli sett når vi kjører koden. Utdataene fra eksemplet:

Dette eksemplet har vært veldig langt, 3 linjer … La oss gå videre til neste.

Eksempel 2
I dette eksemplet, som ikke er mye lengre enn det forrige, skal vi lage vinduet slik vi gjorde i eksempel 1, men vi skal konfigurere det litt, vi vil endre farge, størrelse og tittel.

 importer tkinter som tk -vindu = tk.Tk () window.config (bg = "blått") window.geometry ("400x300") window.title ("Eksempel2") window.mainloop ()
Den første linjen importerer fortsatt tkinter -modulen, men vi gir den et alias slik at vi kan bruke et kortere ord i koden. Vi lager vinduet som i forrige eksempel. Og de neste 3 linjene vil konfigurere farge, størrelse og tittel i rekkefølge. Den siste linjen kjenner vi allerede. Utdataene fra eksemplet er som følger:

Så langt har alt vært veldig enkelt, la oss fortsette med flere eksempler.

Eksempel 3
Nå skal vi lage en knapp inne i hovedvinduet, som heller ikke vil komplisere oss mye, la oss se koden:

 importer tkinter som tk -vindu = tk.Tk () vindu.geometri ("200x150") knapp = tk.Button (vindu, tekst = "Testing") button.grid (rad = 1, kolonne = 1) vindu.mainloop ()
De eneste linjene som trenger forklaring er:
 knapp = tk.Button (vindu, tekst = "Testing") button.grid (rad = 1, kolonne = 1)
Den første oppretter en knapp med navnet Testing (knapp), og vi tildeler det til vindu, som er variabelen i hovedvinduet vårt. Den andre plasserer knappen i rad og kolonne 1. Utførelse viser oss følgende:

Knappen vises ganske enkelt, den fungerer ikke, siden den ikke serverer hendelser, skal vi gjøre det i følgende eksempel.

Eksempel 4
Nå skal vi delta på et arrangement for å åpne et annet vindu, som ikke vil være det viktigste, la oss se koden:

 importer tkinter som tk def åpen (): vindu2 = tk.Toplevel (vindu) vindu = tk.Tk () vindu.geometri ("200x150") knapp = tk.Button (vindu, tekst = "Åpne", kommando = åpen) button.grid (rad = 1, kolonne = 1) vindu.mainloop () 
Vi kommer til å se de nye linjene, den åpne funksjonen vil ha følgende instruksjon, som vil lage et "barn" -vindu for det viktigste.
 vindu2 = tk.Toplevel (vindu)
Og knappen har en liten endring, legg merke til kommando, er å utføre en funksjon, i dette tilfellet å kalle funksjonen åpen:
 knapp = tk.Button (vindu, tekst = "Åpne", kommando = åpent)
La oss gå til et eksempel med en klasse.

Eksempel 5
Dette er det siste eksemplet på tkinter, og det vil være det lengste, vi skal lage en klasse for å gjøre noe annerledes. Det vi skal gjøre er et lite vindu som ikke kan endres, det vil ha en tekstetikett og en knapp, hver gang vi trykker på knappen vil antallet øke. La oss gå videre til koden:

 importer tkinter som tk -klasse Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Eksempel 5") self . window.resizable (bredde = Falsk, høyde = Falsk) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Øk", kommando = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag . pack (pady = 10) def økning (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application () 
I funksjon __i det__ vi skal lage vinduet og konfigurere det, i tillegg til å kalle funksjonene createButton Y createLabel for at vi skal tro disse elementene. Hvis vi har sett de tidligere eksemplene, bør dette ikke generere komplikasjoner eller tvil. Når vi starter programmet har vi vinduet med tallet 0:

Hvis vi klikker på knappen øker tallet, for eksempel etter å ha klikket 25 ganger har vi følgende:

I denne opplæringen har vi sett det grunnleggende i tkinter -modulen, du vil kunne lage mange flere ting, hvis du er interessert i å utdype her har du lenken til den offisielle Python -siden der de snakker om tkinter.

Du har andre biblioteker i Python som du kan programmere grafiske grensesnitt med som sagt i begynnelsen, noen av dem er:

  • PyGTK
  • wxPython
  • PyQT

Slik at du kan sammenligne tkinter litt med en annen modul, skal vi gi et eksempel på PyQt.

Eksempel med PyQT
For å starte dette eksemplet du må installere biblioteket, kan du besøke lenken vi legger over. Vi skal lage et vindu med en størrelse på 275x200 og med tittelen Eksempel PyQt4. Det vil også vises i posisjon 300x300

 import sys from PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 Example') vindu. show () sys.exit (application.exec_ ()) 
Hvis vi kjører koden, får vi følgende utdata:

Ingenting komplisert, hvordan det har blitt observert gjennom opplæringen, vi kan fortsette å sette eksempler, siden det er mye å ta på, men med en introduksjon forbereder det deg allerede til å øve på å lage dine egne eksempler, legge til andre elementer, for eksempel lister, bokser med tekst hvor du skal skrive, etc.

Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave