Seznam Tkinter

Seznam Tkinter



Výchozí sada nástrojů GUI pro Python se nazývá Tkinter. Kombinace Pythonu a Tkinter umožňuje rychlý a jednoduchý vývoj aplikací GUI. Efektivní objektově orientovanou bránu pro sadu nástrojů GUI Tk poskytuje Tkinter. Je jednoduché vytvořit rozhraní Gui využívající Tkinter. V této příručce vám ukážeme použití knihovny Tkinter k vytvoření grafického uživatelského rozhraní Tkinter a přidání widgetu Listbox do něj.

Když začínáme se systémem Ubuntu 20.04, aktualizujeme náš systém pomocí některých příkazů v shellu terminálu. Terminálovou aplikaci spustíme pomocí Ctrl+Alt+T a přidáme na ni výstižnou instrukci „update“. Provedení vyžaduje heslo přihlášeného uživatele a po přidání hesla aktualizuje celý systém.







Po úspěšné instalaci python3 musíte nainstalovat obslužný program Python tk, abyste mohli v kódu používat jeho různé widgety. Pro instalaci vyzkoušejte následující příkaz v oblasti dotazu na terminál:





Instalace tohoto nástroje vyžaduje před dokončením vaše potvrzení. Po dotázání následující otázky stiskněte „y“:





Po kompletní instalaci tohoto nástroje se na obrazovce terminálu zobrazí následující dialogové okno pro widget „tk“. Má dvě tlačítka – jedno pro ukončení a jedno pro pouhé kliknutí.



Při nepřetržitém klikání na „Klikněte na mě!“ dostaneme hranaté závorky kolem textu, který obsahuje. Dialogová obrazovka „Tk“ se zvětší na šířku. Po klepnutí na „Ukončit
Při jakémkoli problému se dialog tk zavře.

Příklad 1:

Spustíme náš první příklad v Pythonu, abychom zobrazili použití Tkinter Listboxu v programu. Za tímto účelem vytvoříme nový soubor Python a importujeme všechny související funkce knihovny „Tkinter“. Objekt GUI „t“ je v kódu vytvořen pomocí funkce „Tk()“. Umožňuje nám vytvořit hlavní okno GUI na naší obrazovce. Funkce geometry() se volá pomocí objektu „t“ Tkinteru k vytvoření obrazovky specifické velikosti.

Nyní vytvoříme štítek widgetu „l“ textového typu na obrazovce GUI Tkinter s nějakým textem pro označení widgetu. Poté vytvoříme widget Listbox pomocí objektu „t“ v parametrech funkce „Listbox“. Funkce insert() pomocí widgetu Listbox je volána pro přidání 5 nových řetězcových hodnot do Listboxu se zadaným číslováním pro vytvoření objednávky.

Štítek „l“ je poté zabalen pomocí funkce pack(). Seznam je nabitý. Funkce mainloop() se volá pomocí objektu „t“ Tkinteru k vytvoření základní smyčky událostí vytvořených uživatelem. Takto se používá Listbox v Pythonu prostřednictvím modulu Tkinter. Program je nyní dokončen a připraven k použití. Uložíme to do souboru a ukončíme to.

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometrie ( '200x250' )
l = štítek ( t, text = 'Moje oblíbené barvy...' )
listbox = seznam ( t )
listbox.insert ( 1 , 'Bílý' )
listbox.insert ( dva , 'Černá' )
listbox.insert ( 3 , 'Červené' )
listbox.insert ( 4 , 'Modrý' )
listbox.insert ( 5 , 'Žlutá' )
l.balení ( )
listbox.pack ( )
t.mainloop ( )

Po zavření souboru znovu spustíme terminál a pomocí instrukce „ls“ vypíšeme obsah hlavního adresáře. Ukazuje, že je zde také nově aktualizovaný soubor Python. Ke spuštění souboru Python používáme python3.

Po spuštění se na naší obrazovce otevře následující GUI obrazovka Tkinter s názvem „tk“. V šedě zbarvené oblasti můžete vidět označený text. V bílé oblasti vidíte položky Listbox, tedy položky přidané do Listboxu pomocí objektu Listbox. Obrazovku GUI Tkinter můžete zavřít pomocí křížku uvedeného v pravém rohu červeně.

Příklad 2:

Pojďme se podívat na použití Listboxu spolu s některými dalšími widgety, aby byl trochu interaktivní. Stejný skript Pythonu je použit ve stejném souboru kódu s drobnými změnami na některých řádcích. Přidáme nový řádek kódu na řádek číslo 12 tohoto kódu. Tlačítko „b“ vytvoříme na obrazovce GUI Tkinter pomocí funkce „Button“, přičemž text „Delete“ použijeme jako popisek tlačítka a objekt Tkinter „t“.

Třetí parametr funkce Button() obsahuje příkaz pro mazání položek Listboxu pomocí ANCHOR, tedy výběr položky a její smazání pomocí tlačítka. Štítek, seznam a tlačítko jsou zabaleny. Pro provádění tohoto GUI je vytvořena hlavní smyčka událostí.

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometrie ( '200x250' )
l = štítek ( t, text = 'Moje oblíbené barvy...' )
listbox = seznam ( t )
listbox.insert ( 1 , 'Bílý' )
listbox.insert ( dva , 'Černá' )
listbox.insert ( 3 , 'Červené' )
listbox.insert ( 4 , 'Modrý' )
listbox.insert ( 5 , 'Žlutá' )
b = Tlačítko ( t, text = 'Vymazat' , commnd = lambda seznam =listbox: listbox.delete ( KOTVA ) )
l.balení ( )
listbox.pack ( )
b.balení
t.mainloop ( )

Po uložení provedeme stejný soubor.

Výstup zobrazí seznam 5 položek spolu s tlačítkem „Smazat“.

Vybereme položku „Blue“ Listbox a stiskneme tlačítko „Delete“.

Vybraná položka se odstraní ze seznamu.

Nyní aktualizujeme stejný kód, abychom přidali další funkce. Takže na 3. řádku aktualizujeme velikost okna GUI. Na 5. řádek kódu přidáme definici funkce „showSelected()“. Tato funkce volá funkci config() pomocí následujícího objektu, aby získala text vybrané položky ze seznamu „Lbx“. Na řádku 15 volá tlačítko ve svém parametru příkazu funkci showSelected().

#!/usr/bin/python3
z importu tkinter *
t = Tk ( )
t.geometrie ( '400x300' )
def showSelected ( ) :
show.config ( text =Lbx.get ( KOTVA ) )
l = štítek ( t, text = 'Moje oblíbené barvy...' )
Lbx = Listbox ( t )
Lbx.pack ( )
Lbx.vložte ( 1 , 'Bílý' )
Lbx.vložte ( dva , 'Černá' )
Lbx.vložte ( 3 , 'Červené' )
Lbx.vložte ( 4 , 'Modrý' )
Lbx.vložte ( 5 , 'Žlutá' )
Knoflík ( t, text = 'Zobrazit vybrané', commnd=showSelected).pack()
zobrazit = Štítek(t)
show.pack
t.mainloop()

Spustíme aktualizovaný kód.

Vytvoří se následující obrazovka Listboxu s tlačítkem „Zobrazit vybrané“.

Vybereme položku seznamu „Bílá“ a klepneme na tlačítko „Zobrazit vybrané“. Po tlačítku se na obrazovce GUI zobrazí „Bílý“ text.

Závěr

To je vše o použití modulu Tkinter v Pythonu. Přidali jsme celkem 2 jednoduché příklady Pythonu, abychom viděli, jak můžeme použít Listbox v kódu Pythonu prostřednictvím knihovny Tkinter. Viděli jsme, jak lze různé widgety použít ke zvýšení interaktivity Tkinter GUI, zejména vytvoření Listboxu a souvisejících tlačítek.