Tkinter Listbox

Tkinter Listbox



Standard GUI-verktøysettet for Python heter Tkinter. Kombinasjonen av Python med Tkinter gjør det raskt og enkelt å utvikle GUI-appene. En effektiv objektorientert gateway for Tk GUI-verktøysettet er levert av Tkinter. Det er enkelt å bygge et Gui-grensesnitt ved å bruke Tkinter. I denne veiledningen vil vi vise deg bruken av Tkinter-biblioteket for å lage en Tkinter GUI og legge til en Listbox-widget til den.

Når vi kommer i gang med Ubuntu 20.04-systemet, oppdaterer vi systemet vårt ved å bruke noen kommandoer i terminalskallet. Vi starter terminalapplikasjonen med Ctrl+Alt+T og legger til den passende 'oppdatering'-instruksjonen på den. Utførelsen krever passordet til den påloggede brukeren og den oppdaterer hele systemet etter at et passord er lagt til.







Etter vellykket installasjon av python3, må du installere Python tk-verktøyet for å bruke de forskjellige widgetene i koden. For installasjon, prøv følgende kommando i terminalspørreområdet:





Installasjonen av dette verktøyet krever din bekreftelse før du fullfører seg selv. Trykk 'y' etter å ha blitt stilt følgende spørsmål:





Etter hele installasjonen av dette verktøyet får vi følgende dialogboks for 'tk'-widgeten på terminalskjermen. Den har to knapper – én for å avslutte og én for bare et klikk.



Ved kontinuerlig å klikke på 'Klikk meg!' knappen, får vi hakeparentesene rundt teksten den inneholder. Dialogskjermen til 'Tk' blir større i bredden. Når du trykker på 'Avslutt
knappen, lukkes tk-dialogen med ethvert problem.

Eksempel 1:

Vi starter vårt første Python-eksempel for å vise bruken av Tkinter Listbox i programmet. For dette oppretter vi en ny Python-fil og importerer alle de relaterte funksjonene til 'Tkinter'-biblioteket. GUI-objektet 't' opprettes i koden ved å bruke 'Tk()'-funksjonen. Det lar oss lage hoved-GUI-vinduet på skjermen vår. Geometri()-funksjonen kalles ved å bruke objektet 't' til Tkinter for å lage en skjerm av en bestemt størrelse.

Nå lager vi en widgetetikett 'l' av teksttype på Tkinter GUI-skjermen med litt tekst for å merke widgeten. Etter dette lager vi en widget Listbox ved å bruke 't' -objektet i parametrene til en 'Listbox' -funksjon. Insert()-funksjonen som bruker Listbox-widgeten kalles for å legge til 5 nye strengverdier til Listbox med den angitte nummereringen for å opprette en ordre.

Etiketten 'l' pakkes etter det ved å bruke pack()-funksjonen. Listeboksen er fullpakket. Mainloop()-funksjonen kalles ved å bruke 't'-objektet til Tkinter for å lage en grunnleggende løkke med hendelser opprettet av en bruker. Dette er hvordan en Listbox brukes i Python via Tkinter-modulen. Programmet er nå ferdig og klart til bruk. La oss lagre den i filen og avslutte den.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '200 x 250' )
l = etikett ( t, tekst = 'Mine favorittfarger...' )
listeboks = Listeboks ( t )
listbox.insert ( 1 , 'Hvit' )
listbox.insert ( to , 'Svart' )
listbox.insert ( 3 , 'Rød' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Etter å ha lukket filen, starter vi terminalen igjen og viser hovedkataloginnholdet via 'ls'-instruksjonen. Den viser at den nylig oppdaterte Python-filen også er der. Vi bruker python3 for å kjøre Python-filen.

Ved kjøring åpnes følgende GUI-skjerm av Tkinter på skjermen vår med tittelen 'tk'. Innenfor det gråfargede området kan du se den merkede teksten. I det hvite området kan du se Listbox-elementene, dvs. elementer som er lagt til Listbox ved hjelp av Listbox-objektet. Du kan lukke GUI Tkinter-skjermen ved å bruke krysstegnet gitt i det røde hjørnet lengst til høyre.

Eksempel 2:

La oss ta en titt på bruken av Listbox sammen med noen andre widgets for å gjøre det litt interaktivt. Det samme Python-skriptet brukes i den samme kodefilen med mindre endringer på noen linjer. Vi legger til en ny kodelinje på linje nummer 12 i denne koden. Vi lager en knapp 'b' i Tkinter GUI-skjermen ved å bruke 'Button'-funksjonen som tar 'Delete'-teksten som en knappetikett og Tkinter-objektet 't'.

Den tredje parameteren til Button()-funksjonen inneholder slettekommandoen for Listbox-elementer som bruker ANCHOR, det vil si å velge et element og slette det ved å bruke knappen. Etiketten, listeboksen og knappen er pakket. Hovedhendelsesløkken er opprettet for utførelse av denne GUI.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '200 x 250' )
l = etikett ( t, tekst = 'Mine favorittfarger...' )
listeboks = Listeboks ( t )
listbox.insert ( 1 , 'Hvit' )
listbox.insert ( to , 'Svart' )
listbox.insert ( 3 , 'Rød' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
b = Knapp ( t, tekst = 'Slett' , commnd = lambda listeboks =listeboks: listeboks.slett ( ANKER ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Vi kjører den samme filen etter å ha lagret den.

Utgangen viser listeboksen med 5 elementer sammen med en 'Slett'-knapp.

Vi velger 'Blå' listebokselementet og trykker på 'Slett' -knappen.

Det valgte elementet slettes fra listeboksen.

Nå oppdaterer vi den samme koden for å legge til en ekstra funksjonalitet. Så på den tredje linjen oppdaterer vi størrelsen på et GUI-vindu. I den femte kodelinjen legger vi til en definisjon for funksjonen 'showSelected()'. Denne funksjonen kaller opp config()-funksjonen ved å bruke følgende objekt for å hente den valgte elementteksten fra listeboksen 'Lbx'. På linje 15 kaller knappen showSelected()-funksjonen i kommandoparameteren.

#!/usr/bin/python3
fra tkinter import *
t = Tk ( )
t.geometri ( '400x300' )
def showSelected ( ) :
show.config ( tekst =Lbx.get ( ANKER ) )
l = etikett ( t, tekst = 'Mine favorittfarger...' )
Lbx = Listeboks ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Hvit' )
Lbx.insert ( to , 'Svart' )
Lbx.insert ( 3 , 'Rød' )
Lbx.insert ( 4 , 'Blå' )
Lbx.insert ( 5 , 'Gul' )
Knapp ( t, tekst = 'Vis valgt', commnd=showSelected).pack()
vis = Etikett(t)
show.pack
t.mainloop()

Vi kjører den oppdaterte koden.

Følgende skjermbilde av Listbox med 'Vis valgte'-knappen er opprettet.

Vi velger listebokselementet 'Hvit' og trykker på 'Vis valgte' -knappen. Den 'Hvite' teksten vises på GUI-skjermen etter knappen.

Konklusjon

Det handler om bruken av Tkinter-modulen i Python. Vi la til totalt 2 enkle Python-eksempler for å se hvordan vi kan bruke Listbox i Python-koden via Tkinter-biblioteket. Vi har sett hvordan de forskjellige widgetene kan brukes til å gjøre Tkinter GUI mer interaktivt, spesielt opprettelsen av Listbox og relaterte knapper.