Tkinter Listbox

Tkinter Listbox



Standard GUI-værktøjssættet til Python hedder Tkinter. Kombinationen af ​​Python med Tkinter gør det hurtigt og enkelt at udvikle GUI-apps. En effektiv objektorienteret gateway til Tk GUI-værktøjssættet leveres af Tkinter. Det er nemt at bygge en Gui-grænseflade ved at bruge Tkinter. I denne guide vil vi vise dig brugen af ​​Tkinter-biblioteket til at oprette en Tkinter GUI og tilføje en Listbox-widget til den.

Når vi kommer i gang med Ubuntu 20.04-systemet, opdaterer vi vores system ved hjælp af nogle kommandoer i terminalskallen. Vi starter terminalapplikationen med Ctrl+Alt+T og tilføjer den passende 'opdaterings'-instruktion på den. Udførelsen kræver adgangskoden for den loggede bruger, og den opdaterer hele systemet efter tilføjelse af en adgangskode.







Efter den vellykkede installation af python3 skal du installere Python tk-værktøjet for at bruge dets forskellige widgets i koden. Til installation skal du prøve følgende kommando i terminalforespørgselsområdet:





Installationen af ​​dette værktøj kræver din bekræftelse, før den fuldfører sig selv. Tryk på 'y' efter at have fået følgende spørgsmål:





Efter hele installationen af ​​dette værktøj får vi følgende dialogboks for 'tk'-widgetten på terminalskærmen. Den har to knapper – en til at afslutte og en til blot et klik.



Ved løbende at klikke på 'Klik mig!' knappen, får vi firkantede parenteser omkring den tekst, den indeholder. Dialogskærmen til 'Tk' bliver større i bredden. Når du trykker på 'Afslut
knappen, lukkes tk-dialogen med ethvert problem.

Eksempel 1:

Vi starter vores første Python-eksempel for at vise brugen af ​​Tkinter Listbox i programmet. Til dette opretter vi en ny Python-fil og importerer alle de relaterede funktioner i 'Tkinter'-biblioteket. GUI-objektet 't' oprettes i koden ved hjælp af funktionen 'Tk()'. Det giver os mulighed for at oprette hoved-GUI-vinduet på vores skærm. Funktionen geometri() kaldes ved at bruge objektet 't' i Tkinter til at skabe en skærm af en bestemt størrelse.

Nu opretter vi en widget-etiket 'l' af teksttype på Tkinter GUI-skærmen med noget tekst til at mærke widgetten. Efter dette opretter vi en widget Listbox ved hjælp af 't' objektet i parametrene for en 'Listbox' funktion. Funktionen insert() ved hjælp af Listbox-widget'en kaldes for at tilføje 5 nye strengværdier til Listbox med den angivne nummerering for at oprette en ordre.

Etiketten 'l' pakkes derefter ved hjælp af pack()-funktionen. Listboxen er pakket. Mainloop()-funktionen kaldes ved at bruge 't'-objektet i Tkinter til at skabe en grundlæggende loop af hændelser oprettet af en bruger. Sådan bruges en Listbox i Python via Tkinter-modulet. Programmet er nu færdigt og klar til brug. Lad os gemme det i filen og afslutte det.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '200x250' )
l = etiket ( t, tekst = 'Mine yndlingsfarver...' )
listeboks = Listeboks ( t )
listbox.insert ( 1 , 'Hvid' )
listbox.insert ( to , 'Sort' )
listbox.insert ( 3 , 'Rød' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
l.pak ( )
listbox.pack ( )
t.mainloop ( )

Efter at have lukket filen, starter vi terminalen igen og viser hovedbibliotekets indhold via 'ls'-instruktionen. Det viser, at den nyligt opdaterede Python-fil også er der. Vi bruger python3 til at udføre Python-filen.

Ved udførelse åbnes den følgende GUI-skærm af Tkinter på vores skærm med titlen 'tk'. Inden for det gråfarvede område kan du se den mærkede tekst. I det hvide område kan du se Listbox-elementerne, dvs. elementer, der er tilføjet til Listbox ved hjælp af Listbox-objektet. Du kan lukke GUI Tkinter-skærmen ved at bruge krydstegnet i det røde højre hjørne.

Eksempel 2:

Lad os tage et kig på brugen af ​​Listbox sammen med nogle andre widgets for at gøre det lidt interaktivt. Det samme Python-script bruges i den samme kodefil med mindre ændringer på nogle linjer. Vi tilføjer en ny kodelinje på linje nummer 12 i denne kode. Vi opretter en knap 'b' på Tkinter GUI-skærmen ved at bruge 'Button'-funktionen, idet vi tager 'Slet'-teksten som en knaplabel og Tkinter-objektet 't'.

Den tredje parameter i Button()-funktionen indeholder slettekommandoen for Listbox-elementer ved hjælp af ANCHOR, dvs. at vælge et element og slette det ved hjælp af knappen. Etiketten, listeboksen og knappen er pakket. Hovedbegivenhedsløkken oprettes til udførelse af denne GUI.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '200x250' )
l = etiket ( t, tekst = 'Mine yndlingsfarver...' )
listeboks = Listeboks ( t )
listbox.insert ( 1 , 'Hvid' )
listbox.insert ( to , 'Sort' )
listbox.insert ( 3 , 'Rød' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
b = Knap ( t, tekst = 'Slet' , commnd = lambda listeboks =listeboks: listeboks.slet ( ANKER ) )
l.pak ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Vi udfører den samme fil efter at have gemt den.

Outputtet viser listeboksen med 5 elementer sammen med en 'Slet'-knap.

Vi vælger punktet 'Blå' Listbox og trykker på knappen 'Slet'.

Det valgte element slettes fra listeboksen.

Nu opdaterer vi den samme kode for at tilføje en ekstra funktionalitet. Så på 3. linje opdaterer vi størrelsen på et GUI-vindue. I den 5. kodelinje tilføjer vi en definition for funktionen 'showSelected()'. Denne funktion kalder config()-funktionen ved hjælp af følgende objekt for at hente den valgte elementtekst fra listeboksen 'Lbx'. På linje 15 kalder knappen showSelected()-funktionen i dens kommandoparameter.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '400x300' )
def showSelected ( ) :
show.config ( tekst =Lbx.get ( ANKER ) )
l = etiket ( t, tekst = 'Mine yndlingsfarver...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.indsæt ( 1 , 'Hvid' )
Lbx.indsæt ( to , 'Sort' )
Lbx.indsæt ( 3 , 'Rød' )
Lbx.indsæt ( 4 , 'Blå' )
Lbx.indsæt ( 5 , 'Gul' )
Knap ( t, tekst = 'Vis udvalgte', commnd=showSelected).pack()
vis = Etiket(t)
show.pack
t.mainloop()

Vi udfører den opdaterede kode.

Følgende skærmbillede af Listbox med knappen 'Vis valgte' oprettes.

Vi vælger Listbox-elementet 'Hvid' og trykker på knappen 'Vis udvalgte'. Den 'hvide' tekst vises på GUI-skærmen efter knappen.

Konklusion

Det handler om brugen af ​​Tkinter-modulet i Python. Vi tilføjede i alt 2 simple Python-eksempler for at se, hvordan vi kan bruge Listbox i Python-koden via Tkinter-biblioteket. Vi har set, hvordan de forskellige widgets kan bruges til at gøre Tkinter GUI mere interaktiv, især oprettelsen af ​​Listbox og relaterede knapper.