Kom godt i gang med grafiske brugergrænseflader i Python

Indholdsfortegnelse

I denne tutorial vil vi sætte Eksempler på implementering af GUI -applikationer i Python, der er mange moduler til at arbejde med en grafisk grænseflade, her har vi valgt Tkinter, da det kommer forudinstalleret med Python, og det vil hjælpe os med at se, hvordan vi fungerer på denne måde, selvom vi i slutningen vil se et lille eksempel på PyQt.

Vi kan kontrollere, om Tkinter modulet er korrekt installeret ved hjælp af:

 python -m tkinter
BemærkI Python 2 ville det være det første store t: Tkinter, da det i Python 3 blev omdøbt.

Hvis det er korrekt installeret, vil vi se, at der vises et vindue som det nedenfor:

Hvis vi ikke kan se en fejl, angiver det, at det ikke kan finde dette modul:

Sådan installeres modulet i Python 3 inden for Debian -distributioner:

 sudo apt-get install python3-tk
For andre versioner se følgende link. Undervisningen er fokuseret på at give et første indtryk om at arbejde med GUI i Python, hvis du er ny inden for dette emne, så vil det hjælpe dig, hvis du leder efter avancerede emner, er dette ikke den rigtige tutorial.

BemærkHer skal vi arbejde med Python 3, vi importerer biblioteket som følger:

 importere tkinter
Men i Python 2 skal du importere det som følger, vi talte allerede om, at det blev omdøbt:
 importere Tkinter

Vi kommer til at starte tutorial -eksemplet med eksempel, vi starter med det letteste og komplicerer det i slutningen.

Eksempel 1
Vi opretter et simpelt vindue til dette, vi skriver følgende kode:

 import tkinter vindue = tkinter.Tk () vindue = tkinter.mainloop ()
Med den første linje importerer vi det nødvendige modul, det næste opretter hovedvinduet, og hvis vi fjerner den sidste instruktion, ses vinduet ikke, når vi udfører koden. Output fra eksemplet:

Dette eksempel har været meget langt, 3 linjer … Lad os gå videre til den næste.

Eksempel 2
I dette eksempel, som ikke er meget længere end det forrige, skal vi oprette vinduet som vi gjorde i eksempel 1, men vi vil konfigurere det lidt, vi ændrer farve, størrelse og titel.

 import tkinter som tk vindue = tk.Tk () window.config (bg = "blå") window.geometry ("400x300") window.title ("Eksempel2") window.mainloop ()
Den første linje importerer stadig tkinter -modulet, men vi giver det et alias, så vi kan bruge et kortere ord i koden. Vi opretter vinduet som i det foregående eksempel. Og de næste 3 linjer konfigurerer farve, størrelse og titel i rækkefølge. Den sidste linje kender vi allerede. Output fra eksemplet er som følger:

Hidtil har alt været meget let, lad os fortsætte med flere eksempler.

Eksempel 3
Nu skal vi oprette en knap inde i hovedvinduet, som heller ikke vil komplicere os meget, lad os se koden:

 import tkinter som tk vindue = tk.Tk () vindue.geometri ("200x150") knap = tk.Button (vindue, tekst = "Test") button.grid (række = 1, kolonne = 1) vindue.mainloop ()
De eneste linjer, der skal forklares, er:
 knap = tk.Button (vindue, tekst = "Test") button.grid (række = 1, kolonne = 1)
Den første opretter en knap med navnet Testing (knap), og vi tildeler det til vindue, som er variablen i vores hovedvindue. Den anden placerer knappen i række og kolonne 1. Udførelse viser os følgende:

Knappen vises simpelthen, den virker ikke, da den ikke betjener begivenheder, gør vi det i følgende eksempel.

Eksempel 4
Nu vil vi deltage i en begivenhed for at åbne et andet vindue, som ikke vil være det vigtigste, lad os se koden:

 import tkinter som tk def åben (): vindue2 = tk.Toplevel (vindue) vindue = tk.Tk () vindue.geometri ("200x150") knap = tk.Button (vindue, tekst = "Åbn", kommando = åben) button.grid (række = 1, kolonne = 1) vindue.mainloop () 
Vi kommer til at se de nye linjer, den åbne funktion vil have følgende instruktion, som vil oprette et "barn" -vindue for det vigtigste.
 vindue2 = tk.Toplevel (vindue)
Og knappen har en lille ændring, bemærk kommando, er at udføre en funktion, i dette tilfælde at kalde funktionen åben:
 knap = tk.Button (vindue, tekst = "Åbn", kommando = åben)
Lad os gå til et eksempel med en klasse.

Eksempel 5
Dette er det sidste eksempel på tkinter, og det vil være det længste, vi skal oprette en klasse for at gøre noget anderledes. Hvad vi skal gøre er et lille vindue, som ikke kan ændres, det vil have en tekstetiket og en knap, hver gang vi trykker på knappen, stiger antallet. Lad os gå videre til koden:

 import tkinter som tk klasse Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Eksempel 5") self . vindue.resizable (bredde = Falsk, højde = Falsk) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Forøg", 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 stige (self): self.tag ["tekst"] = self.counter self.counter + = 1 app = Application () 
I funktion __i det__ vi skal oprette vinduet og konfigurere det, udover at kalde funktionerne createButton Y createLabel for os at tro på disse elementer. Hvis vi har set de tidligere eksempler, bør denne ikke generere komplikationer eller tvivl. Ved start af programmet har vi vinduet med nummeret på 0:

Hvis vi klikker på knappen stiger tallet, for eksempel efter at have klikket 25 gange har vi følgende:

I denne vejledning har vi set det grundlæggende i tkinter -modulet, du vil kunne oprette mange flere ting, hvis du er interesseret i at uddybe her, har du linket til den officielle Python -side, hvor de taler om tkinter.

Du har andre biblioteker i Python, som du kan programmere grafiske grænseflader med som sagt i begyndelsen, nogle af dem er:

  • PyGTK
  • wxPython
  • PyQT

Så du kan sammenligne tkinter lidt med et andet modul, giver vi et eksempel på PyQt.

Eksempel med PyQT
For at starte dette eksempel du bliver nødt til at installere biblioteket, kan du besøge det link, vi lagde ovenfor. Vi skal oprette et vindue med en størrelse på 275x200 og med titlen Eksempel PyQt4. Det vises også i position 300x300

 import sys fra PyQt4 import QtGui application = QtGui.QApplication (sys.argv) vindue = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('PyQt4 eksempel') vindue. show () sys.exit (application.exec_ ()) 
Hvis vi udfører koden, får vi følgende output:

Intet kompliceret, hvordan det er blevet observeret gennem hele vejledningen, vi kunne fortsætte med at sætte eksempler, da der er meget at røre ved, men med en introduktion forbereder det dig allerede til at øve dig i at oprette dine egne eksempler, tilføje andre elementer, f.eks. Lister, kasser med tekst, hvor der skal skrives osv.

Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave