Zoznam Tkinter

Zoznam Tkinter



Predvolená súprava nástrojov GUI pre Python sa nazýva Tkinter. Kombinácia Pythonu a Tkinter umožňuje rýchly a jednoduchý vývoj aplikácií GUI. Efektívna objektovo orientovaná brána pre Tk GUI toolkit poskytuje Tkinter. Je jednoduché vytvoriť rozhranie Gui využívajúce Tkinter. V tejto príručke vám ukážeme použitie knižnice Tkinter na vytvorenie GUI Tkinter a pridanie widgetu Listbox do neho.

Keď začíname so systémom Ubuntu 20.04, aktualizujeme náš systém pomocou niektorých príkazov v prostredí terminálu. Terminálovú aplikáciu spustíme pomocou Ctrl+Alt+T a pridáme k nej výstižnú inštrukciu „aktualizovať“. Spustenie vyžaduje heslo prihláseného užívateľa a po pridaní hesla aktualizuje celý systém.







Po úspešnej inštalácii python3 si musíte nainštalovať obslužný program Python tk, aby ste v kóde mohli používať jeho rôzne widgety. Pri inštalácii vyskúšajte nasledujúci príkaz v oblasti dotazu terminálu:





Inštalácia tohto nástroja vyžaduje pred dokončením vaše potvrdenie. Po položení nasledujúcej otázky stlačte „y“:





Po celej inštalácii tohto nástroja sa na obrazovke terminálu zobrazí nasledujúce dialógové okno pre widget „tk“. Má dve tlačidlá – jedno na ukončenie a jedno na kliknutie.



Pri neustálom klikaní na „Klikni na mňa!“ dostaneme hranaté zátvorky okolo textu, ktorý obsahuje. Dialógová obrazovka „Tk“ sa zväčšuje. Po klepnutí na tlačidlo „Ukončiť
pri akomkoľvek probléme sa dialóg tk uzavrie.

Príklad 1:

Spustíme náš prvý príklad Pythonu, aby sme zobrazili použitie zoznamu Tkinter v programe. Na tento účel vytvoríme nový súbor Python a importujeme všetky súvisiace funkcie knižnice „Tkinter“. Objekt GUI „t“ je v kóde vytvorený pomocou funkcie „Tk()“. Umožňuje nám vytvoriť hlavné okno GUI na našej obrazovke. Funkcia geometry() sa volá pomocou objektu „t“ Tkinter na vytvorenie obrazovky špecifickej veľkosti.

Teraz vytvoríme štítok miniaplikácie „l“ textového typu na obrazovke GUI Tkinter s nejakým textom na označenie miniaplikácie. Potom vytvoríme widget Listbox pomocou objektu „t“ v parametroch funkcie „Listbox“. Funkcia insert() pomocou widgetu Listbox sa volá na pridanie 5 nových reťazcových hodnôt do Listboxu so zadaným číslovaním na vytvorenie objednávky.

Štítok „l“ sa potom zabalí pomocou funkcie pack(). Listbox je zabalený. Funkcia mainloop() sa volá pomocou objektu „t“ Tkinter na vytvorenie základnej slučky udalostí vytvorených používateľom. Takto sa Listbox využíva v Pythone prostredníctvom modulu Tkinter. Program je teraz dokončený a pripravený na použitie. Uložíme to do súboru a ukončíme to.

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometria ( '200 x 250' )
l = štítok ( t, text = 'Moje obľúbené farby...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Biely' )
listbox.insert ( dva , 'Čierna' )
listbox.insert ( 3 , 'červená' )
listbox.insert ( 4 , 'Modrá' )
listbox.insert ( 5 , 'Žltá' )
l.baliť ( )
listbox.pack ( )
t.mainloop ( )

Po zatvorení súboru ešte raz spustíme terminál a pomocou inštrukcie „ls“ vypíšeme obsah hlavného adresára. Ukazuje, že je tu aj novo aktualizovaný súbor Python. Na spustenie súboru Python používame python3.

Po spustení sa na našej obrazovke otvorí nasledujúca obrazovka GUI Tkinter s názvom „tk“. V sivej oblasti môžete vidieť označený text. V bielej oblasti vidíte položky Listbox, teda položky pridané do Listboxu pomocou objektu Listbox. Obrazovku GUI Tkinter môžete zatvoriť pomocou krížika v pravom rohu červenej farby.

Príklad 2:

Poďme sa pozrieť na používanie Listboxu spolu s ďalšími miniaplikáciami, aby bol trochu interaktívny. Rovnaký skript Python sa používa v rovnakom kódovom súbore s malými zmenami na niektorých riadkoch. Na riadok číslo 12 tohto kódu pridávame nový riadok kódu. Na obrazovke Tkinter GUI vytvoríme tlačidlo „b“ pomocou funkcie „Button“, pričom text „Delete“ použijeme ako označenie tlačidla a objekt Tkinter „t“.

Tretí parameter funkcie Button() obsahuje príkaz na vymazanie položiek Listboxu pomocou ANCHOR, teda výber položky a jej vymazanie pomocou tlačidla. Štítok, zoznam a tlačidlo sú zabalené. Hlavná slučka udalostí je vytvorená na vykonávanie tohto GUI.

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometria ( '200 x 250' )
l = štítok ( t, text = 'Moje obľúbené farby...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Biely' )
listbox.insert ( dva , 'Čierna' )
listbox.insert ( 3 , 'červená' )
listbox.insert ( 4 , 'Modrá' )
listbox.insert ( 5 , 'Žltá' )
b = tlačidlo ( t, text = 'Odstrániť' , commnd = lambda zoznam =listbox: listbox.delete ( KOTVA ) )
l.baliť ( )
listbox.pack ( )
b.baliť
t.mainloop ( )

Ten istý súbor spustíme po jeho uložení.

Na výstupe sa zobrazí zoznam 5 položiek spolu s tlačidlom „Odstrániť“.

Vyberieme položku „Blue“ Listbox a stlačíme tlačidlo „Delete“.

Vybraná položka sa odstráni zo zoznamu.

Teraz aktualizujeme rovnaký kód, aby sme pridali ďalšiu funkciu. Takže na 3. riadku aktualizujeme veľkosť okna GUI. V 5. riadku kódu pridáme definíciu funkcie „showSelected()“. Táto funkcia volá funkciu config() pomocou nasledujúceho objektu na získanie textu vybratej položky zo zoznamu „Lbx“. Na riadku 15 tlačidlo vo svojom parametri príkazu volá funkciu showSelected().

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometria ( '400 x 300' )
def showSelected ( ) :
show.config ( text =Lbx.get ( KOTVA ) )
l = štítok ( t, text = 'Moje obľúbené farby...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.vložiť ( 1 , 'Biely' )
Lbx.vložiť ( dva , 'Čierna' )
Lbx.vložiť ( 3 , 'červená' )
Lbx.vložiť ( 4 , 'Modrá' )
Lbx.vložiť ( 5 , 'Žltá' )
Tlačidlo ( t, text = 'Zobraziť vybraté', commnd=showSelected).pack()
zobraziť = Označenie(t)
ukázať.baliť
t.mainloop()

Spustíme aktualizovaný kód.

Vytvorí sa nasledujúca obrazovka zoznamu s tlačidlom „Zobraziť vybrané“.

Vyberieme položku zoznamu „Biela“ a ťukneme na tlačidlo „Zobraziť vybraté“. Po stlačení tlačidla sa na obrazovke GUI zobrazí „Biely“ text.

Záver

To je všetko o použití modulu Tkinter v Pythone. Pridali sme celkom 2 jednoduché príklady Pythonu, aby sme videli, ako môžeme použiť Listbox v kóde Pythonu prostredníctvom knižnice Tkinter. Videli sme, ako sa dajú použiť rôzne widgety na zvýšenie interaktívnosti GUI Tkinter, najmä vytvorenie Listboxu a súvisiacich tlačidiel.