Tkinter ComboBox

Tkinter Combobox



Balíček ttk, jedinečná modifikace Python Tkinter, představuje tuto další komponentu. Python Tkinter ComboBox zobrazuje každou volbu z rozbalovací nabídky 1 najednou. Má moderní vzhled, díky čemuž je vhodný pro místa, kde je rozhodující expozice. Gadget Entry je schopnost třídy Python ComboBox. Výsledkem je, že přidává některé další volby a funkce a zároveň je zdědí ze třídy Entry.

Zásadní widget, který lze vidět v několika programech, je ComboBox. Uživatel dostane seznam alternativ, ze kterých si může vybrat. Má několik hodnot a vždy zobrazuje pouze jednu. Dnešní tutoriál se bude zabývat tím, jak používat ComboBox v Linuxu pomocí Tkinter.

Příklad 1:

Začněme s úplně prvním příkladem modulu Tkinter v Pythonu. Přes terminálovou konzoli vytvoříme nový soubor Python s příponou „py“. Poté můžete pomocí libovolného editoru otevřít nově vygenerovaný soubor Python z průzkumníku souborů. Tento kód Pythonu začínáme importem knihovny Tkinter do kódu spolu se všemi jejími dílčími objekty, třídami a vestavěnými entitami.







Importujeme jeho ttk objekt, který bude použit v kódu. Nejprve zavoláme funkci Tk() Tkinter, abychom přidali novou hodnotu pro objekt „t“. Objekt „t“ se používá k volání funkce geometrie k vytvoření grafického uživatelského rozhraní „200×150“. V tomto prvním příkladu používáme metodu „frame()“ Tkinteru k vytvoření rámce GUI na obrazovce konzoly. Objekt „f“ rámce je zde uzavřen pomocí funkce Tkinter pack().



Poté vytvoříme seznam „l“ typů řetězců obsahující celkem 5 řetězcových hodnot. Poté použijeme objekt Tkinter ttk k volání funkce ComboBox Tkinter v rámci „f“. Je mu předán seznam „l“. Tento ComboBox se uloží do proměnné „C“. Štítek ComboBoxu nastavíme pomocí funkce „set“ a zabalíme ComboBox přesnými vycpávkami. Nyní spustíme funkci mainloop() pro spuštění celého programu Tkinter.







Po dokončení skriptu Python uložíme kód pomocí Ctrl+S a vrátíme se zpět do shell konzole systému Linux. Vyzkoušíme instrukci Python3 v shellu následovanou názvem souboru Python, abychom provedli soubor, jak je zobrazeno v následujícím textu:

$ python3 test.py



Po provedení dotazu získáme na obrazovce naší konzole následující GUI Tkinter s názvem „tk“. Obrazovka GUI obsahuje comboBox, tedy rozevírací seznam s názvem „Vyberte 1 barvu“ a znakem trojúhelníku pro jeho otevření.

Po klepnutí na trojúhelník se zobrazí dlouhý rozevírací seznam se všemi dostupnými možnostmi. Můžete vidět, že máme na výběr celkem 5 možností.

Řekněme, že si z rozevíracího seznamu vyberete barvu „Černá“. Uvidíte, že vybraná barva se zobrazí v oblasti názvu rozevíracího seznamu ComboBox. Zbývající seznam je skrytý.

Příklad 2:

Podívejme se tentokrát na další příklad s použitím jiné metody k vytvoření ComboBoxu v Tkinter. Tento kód Pythonu tedy začínáme importem modulu Tkinter do stejného souboru Python jako „tk“ a importem jeho třídy ttk. Poté importujeme funkci showinfo() z třídy zpráv modulu Tkinter. Také importujeme proměnnou month_name z kalendářového modulu Pythonu.

Zavoláme funkci tk() s objektem tk modulu Tkinter a výsledek konstruktoru uložíme do proměnné „t“. Funkce geometrie je volána se zadanými parametry pro vytvoření GUI Tkinter se specifickou velikostí. Funkce title() je volána s parametrem „Ilustrace comboboxu“ pro pojmenování GUI Tkinter a funkce Label z třídy ttk pro vytvoření štítku „l“. Funkce balení se používá k vyplnění štítku „l“. Proměnná „mn“ je vytvořena pomocí funkce StringVar() třídy „tk“. ComboBox „mcb“ je vytvořen pomocí funkce ComboBox a proměnného textu „mn“. ComboBox mcb se plní řetězcovými hodnotami až do 13 prostřednictvím proměnné month_name používané v rámci cyklu „for“.

Stav ComboBoxu „mcb“ je nastaven pouze pro čtení a je zabalen. Funkce select() je vytvořena pro volání funkce showinfo() pro vytvoření výstražného dialogového okna s názvem „Potvrzení“ a zprávou „Vybrali jste {jakékoli hodnoty}. Funkce bind() se volá s ComboBoxem „mcb“ přidáním parametrů „ComboboxSelected“ a funkce „change“. Funkce mainloop() je spuštěna, aby smyčka z programu Tkinter. Před spuštěním si to nejprve uložíme.

Tento soubor spustíme pomocí dotazu python3.

$ krajta 3 test.py

Následující obrazovka Tkinter s názvem „Ilustrace ComboBox“ se objeví v následujícím:

Když klikneme na trojúhelníkový znak ComboBox pod názvem „Vyberte měsíc“, zobrazí se názvy měsíců.

Když vybereme „Červenec“, zobrazí se na štítku a zobrazí se dialogové upozornění a zpráva. Pokračujte stisknutím tlačítka Ok.

Závěr

Je to celé o použití modulu Tkinter v Pythonu k vytvoření comboBoxu v okně GUI. Za tímto účelem jsme vyzkoušeli dva jednoduché, ale odlišné příklady Pythonu, abychom dosáhli cíle pomocí funkce frame() a konvenčního způsobu vytváření comboBoxu v GUI. Začlenili jsme ukázkové kódy pro obě instance a po provedení kódů jsme provedli několik změn.