Tkinter ComboBox

Tkinter Combobox



Balík ttk, jedinečná modifikácia Python Tkinter, predstavuje tento dodatočný komponent. Python Tkinter ComboBox zobrazuje každú voľbu z rozbaľovacej ponuky 1 naraz. Má moderný vzhľad, vďaka čomu je vhodný na miesta, kde je rozhodujúca expozícia. Modul gadget Entry je schopnosť triedy Python ComboBox. Výsledkom je, že pridáva niektoré ďalšie možnosti a funkcie a zároveň ich zdedí z triedy Entry.

Rozhodujúcim widgetom, ktorý možno vidieť vo viacerých programoch, je ComboBox. Používateľ dostane zoznam alternatív, z ktorých si môže vybrať. Má niekoľko hodnôt a vždy zobrazuje iba jednu. Dnešný tutoriál sa bude zaoberať tým, ako používať ComboBox v systéme Linux pomocou Tkinter.

Príklad 1:

Začnime s úplne prvým príkladom modulu Tkinter v Pythone. Prostredníctvom terminálovej konzoly vytvoríme nový súbor Python s príponou „py“. Potom môžete použiť ľubovoľný editor na otvorenie novo vygenerovaného súboru Python z prieskumníka súborov. Tento kód Pythonu začíname importom knižnice Tkinter do kódu spolu so všetkými jej podobjektmi, triedami a vstavanými entitami.







Importujeme jeho objekt ttk, ktorý sa má použiť v kóde. Najprv zavoláme funkciu Tk() Tkinter, aby sme pridali novú hodnotu pre objekt „t“. Objekt „t“ sa používa na volanie funkcie geometrie na vytvorenie grafického používateľského rozhrania „200×150“. V tomto prvom príklade používame metódu „frame()“ Tkinter na vytvorenie rámca GUI na obrazovke konzoly. Objekt „f“ rámca je tu uzavretý pomocou funkcie Tkinter pack().



Potom vytvoríme zoznam „l“ typov reťazcov, ktorý obsahuje celkovo 5 hodnôt reťazcov. Potom použijeme objekt Tkinter ttk na zavolanie funkcie ComboBox Tkinter v rámci „f“. Odovzdá sa mu zoznam „l“. Tento ComboBox sa uloží do premennej „C“. Označenie ComboBoxu nastavíme pomocou funkcie „set“ a zabalíme ComboBox presnými vypchávkami. Teraz spustíme funkciu mainloop() na spustenie celkového programu Tkinter.







Po dokončení skriptu Python uložíme kód pomocou Ctrl+S a vrátime sa späť do shell konzoly systému Linux. Vyskúšame inštrukciu Python3 v shellu, za ktorou nasleduje názov súboru Python, aby sa súbor spustil, ako je zobrazené v nasledujúcom texte:

$ python3 test.py



Po vykonaní dotazu dostaneme na obrazovke našej konzoly nasledujúce GUI Tkinter s názvom „tk“. Obrazovka GUI obsahuje comboBox, t. j. rozbaľovací zoznam s názvom „Vyberte 1 farbu“ a znakom trojuholníka na jeho otvorenie.

Po klepnutí na znak trojuholníka sa zobrazí dlhý rozbaľovací zoznam so všetkými dostupnými možnosťami. Môžete vidieť, že máme na výber celkovo 5 možností.

Povedzme, že si z rozbaľovacieho zoznamu vyberiete farbu „Čierna“. Uvidíte, že vybratá farba sa zobrazí v oblasti názvu rozbaľovacieho zoznamu ComboBox. Zostávajúci zoznam je skrytý.

Príklad 2:

Pozrime sa na ďalší príklad s použitím inej metódy na vytvorenie ComboBoxu v Tkinter tentoraz. Tento kód Pythonu teda začíname importom modulu Tkinter do rovnakého súboru Python ako „tk“ spolu s importovaním jeho triedy ttk. Potom importujeme funkciu showinfo() z triedy správ modulu Tkinter. Tiež importujeme premennú month_name z kalendárového modulu Pythonu.

Zavoláme funkciu tk() s objektom tk modulu Tkinter a výsledok konštruktora uložíme do premennej „t“. Funkcia geometrie sa volá so špecifikovanými parametrami na vytvorenie GUI Tkinter so špecifickou veľkosťou. Funkcia title() sa volá s parametrom „Ilustrácia comboboxu“ na pomenovanie GUI Tkinter a funkcia Label z triedy ttk na vytvorenie štítku „l“. Funkcia balenia sa používa na vyplnenie štítku „l“. Premenná „mn“ je vytvorená pomocou funkcie StringVar() triedy „tk“. ComboBox „mcb“ je vytvorený pomocou funkcie ComboBox a premenného textu „mn“. mcb ComboBox je naplnený reťazcovými hodnotami do 13 cez premennú month_name používanú v rámci cyklu „for“.

Stav pre ComboBox „mcb“ je nastavený len na čítanie a je zabalený. Funkcia select() je vytvorená na volanie funkcie showinfo() na vytvorenie výstražného dialógového okna s názvom „Potvrdenie“ a správou „Vybrali ste si {akúkoľvek hodnotu}. Funkcia bind() sa volá s ComboBoxom „mcb“ pridaním parametrov „ComboboxSelected“ a funkcie „change“. Funkcia mainloop() sa vykoná na zacyklenie programu Tkinter. Pred spustením si to najprv uložme.

Tento súbor spustíme pomocou dotazu python3.

$ pytón 3 test.py

Nasledujúca obrazovka Tkinter s názvom „Ilustrácia ComboBox“ sa zobrazí nasledovne:

Keď klikneme na trojuholník ComboBox pod názvom „Vyberte mesiac“, zobrazia sa názvy mesiaca.

Keď vyberieme „Júl“, zobrazí sa na štítku a zobrazí sa dialógové upozornenie a správa. Pokračujte stlačením tlačidla Ok.

Záver

Toto je všetko o použití modulu Tkinter v Pythone na vytvorenie comboBoxu v okne GUI. Na tento účel sme vyskúšali dva jednoduché, ale odlišné príklady Pythonu, aby sme dosiahli cieľ pomocou funkcie frame() a konvenčného spôsobu vytvárania comboBoxu v GUI. Začlenili sme vzorové kódy pre oba prípady a po vykonaní kódov sme urobili niekoľko zmien.