Tkinter Listbox

Tkinter Listbox



Standard GUI-verktygslådan för Python heter Tkinter. Kombinationen av Python med Tkinter gör det snabbt och enkelt att utveckla GUI-apparna. En effektiv objektorienterad gateway för Tk GUI-verktygssatsen tillhandahålls av Tkinter. Det är enkelt att bygga ett Gui-gränssnitt med hjälp av Tkinter. I den här guiden kommer vi att visa dig användningen av Tkinter-biblioteket för att skapa ett Tkinter GUI och lägga till en Listbox-widget till den.

För att komma igång med Ubuntu 20.04-systemet uppdaterar vi vårt system med hjälp av några kommandon i terminalskalet. Vi startar terminalapplikationen med Ctrl+Alt+T och lägger till den passande 'uppdaterings'-instruktionen på den. Körningen kräver lösenordet för den inloggade användaren och den uppdaterar hela systemet efter tillägg av ett lösenord.







Efter den lyckade installationen av python3 måste du installera Python tk-verktyget för att använda dess olika widgets i koden. För installation, prova följande kommando i terminalens frågeområde:





Installationen av det här verktyget kräver din bekräftelse innan du slutför sig själv. Tryck på 'y' efter att ha fått följande fråga:





Efter hela installationen av det här verktyget får vi följande dialogruta för 'tk'-widgeten på terminalskärmen. Den har två knappar – en för att avsluta och en för bara ett klick.



När du kontinuerligt klickar på 'Klicka på mig!' knappen får vi hakparenteserna runt texten den innehåller. Dialogskärmen för 'Tk' blir större i bredd. När du trycker på 'Avsluta
knappen stängs tk-dialogen med alla problem.

Exempel 1:

Vi startar vårt första Python-exempel för att visa användningen av Tkinter Listbox i programmet. För detta skapar vi en ny Python-fil och importerar alla relaterade funktioner i 'Tkinter'-biblioteket. GUI-objektet 't' skapas i koden med funktionen 'Tk()'. Det låter oss skapa huvudfönstret för GUI på vår skärm. Funktionen geometri() anropas med hjälp av objektet 't' i Tkinter för att skapa en skärm av en specifik storlek.

Nu skapar vi en widgetetikett 'l' av texttyp på Tkinter GUI-skärmen med lite text för att märka widgeten. Efter detta skapar vi en widget Listbox med hjälp av 't' objektet i parametrarna för en 'Listbox' funktion. Funktionen insert() som använder Listbox-widgeten anropas för att lägga till 5 nya strängvärden till Listboxen med den angivna numreringen för att skapa en order.

Etiketten 'l' packas efter det med hjälp av pack()-funktionen. Listboxen är packad. Mainloop()-funktionen anropas genom att använda 't'-objektet i Tkinter för att skapa en grundläggande loop av händelser skapade av en användare. Så här används en Listbox i Python via Tkinter-modulen. Programmet är nu färdigt och redo att användas. Låt oss spara det i filen och avsluta det.

#!/usr/bin/python3
från tkinter import *
t = Tk ( )
t.geometri ( '200x250' )
l = etikett ( t, text = 'Mina favoritfärger...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Vit' )
listbox.insert ( två , 'Svart' )
listbox.insert ( 3 , 'Röd' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Efter att ha stängt filen startar vi terminalen igen och listar huvudkatalogens innehåll via instruktionen 'ls'. Det visar att den nyligen uppdaterade Python-filen också finns där. Vi använder python3 för att köra Python-filen.

Vid körning öppnas följande GUI-skärm av Tkinter på vår skärm med titeln 'tk'. Inom det gråfärgade området kan du se den märkta texten. I det vita området kan du se Listbox-objekten, d.v.s. objekt som lagts till i Listbox med hjälp av Listbox-objektet. Du kan stänga GUI Tkinter-skärmen med hjälp av krysstecknet i rött längst till höger.

Exempel 2:

Låt oss ta en titt på användningen av Listbox tillsammans med några andra widgets för att göra det lite interaktivt. Samma Python-skript används i samma kodfil med mindre ändringar på vissa rader. Vi lägger till en ny kodrad på rad nummer 12 i denna kod. Vi skapar en knapp 'b' på Tkinter GUI-skärmen med hjälp av 'Button'-funktionen som tar 'Delete'-texten som en knappetikett och Tkinter-objektet 't'.

Den tredje parametern i Button()-funktionen innehåller raderingskommandot för Listbox-objekt som använder ANCHOR, dvs. att välja ett objekt och ta bort det med knappen. Etiketten, Listboxen och knappen är packade. Huvudhändelsslingan skapas för exekvering av detta GUI.

#!/usr/bin/python3
från tkinter import *
t = Tk ( )
t.geometri ( '200x250' )
l = etikett ( t, text = 'Mina favoritfärger...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Vit' )
listbox.insert ( två , 'Svart' )
listbox.insert ( 3 , 'Röd' )
listbox.insert ( 4 , 'Blå' )
listbox.insert ( 5 , 'Gul' )
b = Knapp ( t, text = 'Radera' , commnd = lambda listbox =listbox: listbox.delete ( ANKARE ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Vi kör samma fil efter att ha sparat den.

Utgången visar listrutan med 5 objekt tillsammans med en 'Radera'-knapp.

Vi väljer 'Blå' Listbox-objektet och trycker på 'Radera'-knappen.

Det valda objektet tas bort från listrutan.

Nu uppdaterar vi samma kod för att lägga till en extra funktionalitet. Så på den tredje raden uppdaterar vi storleken på ett GUI-fönster. På den femte raden i koden lägger vi till en definition för funktionen 'showSelected()'. Denna funktion anropar funktionen config() med hjälp av följande objekt för att hämta den markerade objekttexten från listrutan 'Lbx'. På rad 15 anropar knappen showSelected()-funktionen i dess kommandoparameter.

#!/usr/bin/python3
från tkinter import *
t = Tk ( )
t.geometri ( '400x300' )
def showSelected ( ) :
show.config ( text =Lbx.get ( ANKARE ) )
l = etikett ( t, text = 'Mina favoritfärger...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Vit' )
Lbx.insert ( två , 'Svart' )
Lbx.insert ( 3 , 'Röd' )
Lbx.insert ( 4 , 'Blå' )
Lbx.insert ( 5 , 'Gul' )
Knapp ( t, text = 'Visa valda', commnd=showSelected).pack()
visa = Etikett(t)
show.pack
t.mainloop()

Vi kör den uppdaterade koden.

Följande skärm i Listbox med knappen 'Visa valda' skapas.

Vi väljer listbox-objektet 'Vit' och trycker på knappen 'Visa valda'. Den 'vita' texten visas på GUI-skärmen efter knappen.

Slutsats

Det handlar om användningen av Tkinter-modulen i Python. Vi har lagt till totalt 2 enkla Python-exempel för att se hur vi kan använda Listboxen i Python-koden via Tkinter-biblioteket. Vi har sett hur de olika widgetarna kan användas för att göra Tkinter GUI mer interaktivt, speciellt skapandet av Listbox och relaterade knappar.