Tkinter Listbox

Tkinter Listbox



Privzeto orodje GUI za Python se imenuje Tkinter. Kombinacija Pythona in Tkinterja omogoča hiter in preprost razvoj aplikacij GUI. Tkinter zagotavlja učinkovit objektno usmerjen prehod za komplet orodij Tk GUI. Preprosto je zgraditi vmesnik Gui z uporabo Tkinterja. V tem priročniku vam bomo pokazali uporabo knjižnice Tkinter za ustvarjanje grafičnega vmesnika Tkinter in mu dodali gradnik Listbox.

Na začetku dela s sistemom Ubuntu 20.04 naš sistem posodobimo z nekaterimi ukazi v terminalski lupini. Terminalsko aplikacijo zaženemo s kombinacijo tipk Ctrl+Alt+T in ji dodamo primerno navodilo »posodobi«. Izvedba zahteva geslo prijavljenega uporabnika in po dodajanju gesla posodobi celoten sistem.







Po uspešni namestitvi python3 morate namestiti pripomoček Python tk za uporabo njegovih različnih pripomočkov v kodi. Za namestitev preizkusite naslednji ukaz v območju poizvedbe terminala:





Namestitev tega pripomočka zahteva vašo potrditev, preden se dokonča. Pritisnite 'y', potem ko ste dobili naslednje vprašanje:





Po celotni namestitvi tega pripomočka dobimo naslednje pogovorno okno za gradnik »tk« na zaslonu terminala. Ima dva gumba – enega za odhod in enega za samo klik.



Ob nenehnem klikanju na gumb 'Klikni me!' dobimo oglate oklepaje okoli besedila, ki ga vsebuje. Dialogni zaslon »Tk« postane večji v širino. Ko se dotaknete možnosti »Quit
se pogovorno okno tk zapre s kakršno koli težavo.

Primer 1:

Začeli smo s prvim primerom Pythona, da prikažemo uporabo Tkinter Listbox v programu. Za to ustvarimo novo datoteko Python in uvozimo vse povezane funkcije knjižnice »Tkinter«. Objekt GUI »t« je ustvarjen v kodi s funkcijo »Tk()«. Omogoča nam ustvarjanje glavnega GUI okna na našem zaslonu. Funkcija geometry() se pokliče z uporabo predmeta 't' Tkinterja za ustvarjanje zaslona določene velikosti.

Zdaj ustvarimo oznako gradnika 'l' vrste besedila na zaslonu GUI Tkinter z nekaj besedila za oznako gradnika. Po tem ustvarimo gradnik Listbox z uporabo predmeta »t« v parametrih funkcije »Listbox«. Funkcija insert(), ki uporablja gradnik Listbox, je poklicana za dodajanje 5 novih vrednosti niza v Listbox z določenim oštevilčenjem za ustvarjanje vrstnega reda.

Oznaka 'l' se nato zapakira s funkcijo pack(). Listbox je poln. Funkcija mainloop() se pokliče z uporabo predmeta 't' v Tkinterju za ustvarjanje osnovne zanke dogodkov, ki jih ustvari uporabnik. Tako se Listbox uporablja v Pythonu prek modula Tkinter. Program je zdaj dokončan in pripravljen za uporabo. Shranimo ga v datoteko in zapustimo.

#!/usr/bin/python3
iz tkinterjevega uvoza *
t = Tk ( )
t.geometrija ( '200x250' )
l = oznaka ( t, besedilo = 'Moje najljubše barve ...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Bela' )
listbox.insert ( dva , 'Črna' )
listbox.insert ( 3 , 'Rdeča' )
listbox.insert ( 4 , 'modra' )
listbox.insert ( 5 , 'Rumena' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

Po zaprtju datoteke še enkrat zaženemo terminal in preko ukaza “ls” izpišemo vsebino glavnega imenika. Prikazuje, da je tam tudi na novo posodobljena datoteka Python. Za izvajanje datoteke Python uporabljamo python3.

Po izvedbi se na našem zaslonu odpre naslednji GUI zaslon Tkinterja z naslovom 'tk'. Znotraj sivega območja lahko vidite označeno besedilo. V belem območju lahko vidite elemente Listbox, tj. elemente, dodane v Listbox z uporabo predmeta Listbox. Zaslon GUI Tkinter lahko zaprete s križcem v skrajnem desnem kotu v rdeči barvi.

Primer 2:

Oglejmo si uporabo seznama skupaj z nekaterimi drugimi pripomočki, da postanemo nekoliko interaktivni. Isti skript Python je uporabljen v isti kodni datoteki z manjšimi spremembami v nekaterih vrsticah. V vrstico številka 12 te kode dodamo novo kodno vrstico. Ustvarimo gumb 'b' na zaslonu Tkinter GUI z uporabo funkcije 'Button', ki privzame besedilo 'Delete' kot oznako gumba in objekt Tkinter 't'.

Tretji parameter funkcije Button() vsebuje ukaz za brisanje elementov Listbox z uporabo ANCHOR, tj. izbiro elementa in njegovo brisanje z gumbom. Oznaka, polje s seznamom in gumb so pakirani. Glavna zanka dogodkov je ustvarjena za izvajanje tega GUI.

#!/usr/bin/python3
iz tkinterjevega uvoza *
t = Tk ( )
t.geometrija ( '200x250' )
l = oznaka ( t, besedilo = 'Moje najljubše barve ...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Bela' )
listbox.insert ( dva , 'Črna' )
listbox.insert ( 3 , 'Rdeča' )
listbox.insert ( 4 , 'modra' )
listbox.insert ( 5 , 'Rumena' )
b = gumb ( t, besedilo = 'Izbriši' , ukaz = lambda seznamsko polje =listbox: listbox.delete ( SIDRO ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

Isto datoteko izvedemo po shranjevanju.

Izhod prikazuje polje s seznamom 5 elementov skupaj z gumbom »Izbriši«.

Izberemo element seznama 'Blue' in pritisnemo gumb 'Delete'.

Izbrani element se izbriše s seznama.

Zdaj posodobimo isto kodo, da dodamo dodatno funkcionalnost. Torej, v 3. vrstici posodobimo velikost okna GUI. V 5. vrstici kode dodamo definicijo za funkcijo »showSelected()«. Ta funkcija pokliče funkcijo config() z uporabo naslednjega predmeta, da pridobi izbrano besedilo elementa iz polja s seznamom »Lbx«. V vrstici 15 gumb pokliče funkcijo showSelected() v svojem ukaznem parametru.

#!/usr/bin/python3
iz tkinterjevega uvoza *
t = Tk ( )
t.geometrija ( '400x300' )
def pokaži izbrano ( ) :
show.config ( besedilo =Lbx.get ( SIDRO ) )
l = oznaka ( t, besedilo = 'Moje najljubše barve ...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Bela' )
Lbx.insert ( dva , 'Črna' )
Lbx.insert ( 3 , 'Rdeča' )
Lbx.insert ( 4 , 'modra' )
Lbx.insert ( 5 , 'Rumena' )
Gumb ( t, besedilo = 'Pokaži izbrano', commnd=showSelected).pack()
pokaži = Oznaka(t)
show.pack
t.mainloop()

Izvedemo posodobljeno kodo.

Ustvari se naslednji zaslon seznama z gumbom »Pokaži izbrano«.

Izberemo element seznama »Bela« in tapnemo gumb »Pokaži izbrano«. Besedilo »Belo« je prikazano na zaslonu GUI za gumbom.

Zaključek

To je vse o uporabi modula Tkinter v Pythonu. Dodali smo skupno 2 preprosta primera Python, da vidimo, kako lahko uporabimo Listbox v kodi Python prek knjižnice Tkinter. Videli smo, kako lahko različne pripomočke uporabimo za bolj interaktiven grafični uporabniški vmesnik Tkinter, zlasti ustvarjanje seznama in povezanih gumbov.