Komma igång med grafiska användargränssnitt i Python

Innehållsförteckning

I den här handledningen ska vi lägga Exempel för implementering av GUI -applikationer i Python, det finns många moduler för att arbeta med ett grafiskt gränssnitt, här har vi valt Tkinter, eftersom det kommer förinstallerat med Python och det hjälper oss att se hur vi fungerar på detta sätt, även om vi i slutet kommer att se ett litet exempel på PyQt.

Vi kan kontrollera om Tkinter modulen är korrekt installerad med:

 python -m tkinter
NoteraI Python 2 skulle det vara den första stora t: Tkinter, eftersom den i Python 3 bytt namn.

Om det är korrekt installerat ser vi att ett fönster som det nedanstående visas:

Om vi ​​inte ser ett fel kommer det att indikera att den inte kan hitta den här modulen:

Så här installerar du modulen i Python 3 inom Debian -distributioner:

 sudo apt-get install python3-tk
För andra versioner se följande länk. Handledningen är inriktad på att ge ett första intryck om att arbeta med GUI i Python, om du är ny på det här ämnet, då kommer det att hjälpa dig, om du letar efter avancerade ämnen är detta inte rätt handledning.

NoteraHär ska vi arbeta med Python 3, vi importerar biblioteket enligt följande:

 importera tkinter
Men i Python 2 måste du importera det enligt följande, vi har redan pratat om att det ska byta namn:
 importera Tkinter

Vi ska börja handledningsexemplet med exempel, vi börjar med det enklaste och komplicerar det i slutet.

Exempel 1
Vi kommer att skapa ett enkelt fönster för detta skriver vi följande kod:

 importera tkinter fönster = tkinter.Tk () fönster = tkinter.mainloop ()
Med den första raden importerar vi den nödvändiga modulen, nästa skapar huvudfönstret och om vi tar bort den sista instruktionen syns inte fönstret när vi kör koden. Utdata från exemplet:

Detta exempel har varit väldigt långt, 3 rader … Låt oss gå vidare till nästa.

Exempel 2
I det här exemplet, som inte är mycket längre än det föregående, kommer vi att skapa fönstret som vi gjorde i exempel 1, men vi kommer att konfigurera det lite, vi kommer att ändra färg, storlek och titel.

 importera tkinter som tk -fönster = tk.Tk () window.config (bg = "blått") window.geometry ("400x300") window.title ("Exempel2") window.mainloop ()
Den första raden importerar fortfarande tkinter -modulen, men vi ger den ett alias så att vi kan använda ett kortare ord i koden. Vi skapar fönstret som i föregående exempel. Och de följande tre raderna kommer att konfigurera färg, storlek och titel i ordning. Den sista raden vet vi redan. Utmatningen från exemplet är följande:

Hittills har allt varit väldigt enkelt, låt oss fortsätta med fler exempel.

Exempel 3
Nu ska vi skapa en knapp inuti huvudfönstret, vilket inte kommer att komplicera oss särskilt mycket, låt oss se koden:

 importera tkinter som tk -fönster = tk.Tk () fönster.geometri ("200x150") -knapp = tk.Button (fönster, text = "Testning") button.grid (rad = 1, kolumn = 1) fönster.mainloop ()
De enda raderna som behöver förklaras är:
 button = tk.Button (fönster, text = "Testar") button.grid (rad = 1, kolumn = 1)
Den första skapar en knapp med namnet Testing (knapp), och vi tilldelar det till fönster, som är variabeln i vårt huvudfönster. Den andra placerar knappen i rad och kolumn 1. Genomförande visar oss följande:

Knappen visas helt enkelt, det fungerar inte, eftersom det inte serverar händelser, kommer vi att göra det i följande exempel.

Exempel 4
Nu kommer vi att delta i ett evenemang för att öppna ett andra fönster, vilket inte kommer att vara det viktigaste, låt oss se koden:

 importera tkinter som tk def öppen (): fönster2 = tk.Toplevel (fönster) fönster = tk.Tk () fönster.geometri ("200x150") knapp = tk.Button (fönster, text = "Öppna", kommando = öppet) button.grid (rad = 1, kolumn = 1) fönster.mainloop () 
Vi kommer att se de nya raderna, den öppna funktionen kommer att ha följande instruktion, vilket kommer att skapa ett "barn" -fönster för det huvudsakliga.
 fönster2 = tk.Toplevel (fönster)
Och knappen har en liten ändring, märk kommando, är att köra en funktion, i detta fall att kalla funktionen öppen:
 knapp = tk.Button (fönster, text = "Öppna", kommando = öppet)
Låt oss gå till ett exempel med en klass.

Exempel 5
Detta är det sista exemplet på tkinter, och det kommer att vara det längsta, vi ska skapa en klass för att göra något annorlunda. Det vi ska göra är ett litet fönster som inte kan ändras, det kommer att ha en textetikett och en knapp, varje gång vi trycker på knappen kommer antalet att öka. Låt oss gå vidare till koden:

 importera tkinter som tk -klass Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Exempel 5") self . window.resizable (bredd = falskt, höjd = falskt) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Öka", 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 öka (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application () 
I funktion __i det__ vi ska skapa fönstret och konfigurera det, förutom att vi kallar funktionerna createButton Y createLabel för att vi ska tro dessa element. Om vi ​​har sett de tidigare exemplen bör den här inte generera komplikationer eller tvivel. När vi startar programmet har vi fönstret med siffran 0:

Om vi ​​klickar på knappen ökar antalet, till exempel efter att ha klickat 25 gånger har vi följande:

I denna handledning har vi sett grunderna i tkinter -modulen, du kommer att kunna skapa många fler saker, om du är intresserad av att fördjupa dig här har du länken till den officiella Python -sidan där de pratar om tkinter.

Du har andra bibliotek i Python som du kan programmera grafiska gränssnitt med som sagt i början, några av dem är:

  • PyGTK
  • wxPython
  • PyQT

Så att du kan jämföra tkinter lite med en annan modul, kommer vi att ge ett exempel på PyQt.

Exempel med PyQT
För att starta detta exempel du måste installera biblioteket, kan du besöka länken som vi sätter ovan. Vi ska skapa ett fönster med en storlek på 275x200 och med titeln Exempel PyQt4. Det kommer också att visas i position 300x300

 import sys från PyQt4 import QtGui application = QtGui.QApplication (sys.argv) fönster = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 Exempel') fönster. show () sys.exit (application.exec_ ()) 
Om vi ​​kör koden får vi följande utdata:

Inget komplicerat, hur det har observerats under hela handledningen, vi kan fortsätta att lägga exempel, eftersom det finns mycket att beröra, men med en introduktion förbereder det dig redan att träna på att skapa dina egna exempel, lägga till andra element, till exempel listor, rutor med text där du ska skriva, etc.

Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave