Ključni pripomoček, ki ga lahko vidite v več programih, je ComboBox. Uporabnik dobi seznam alternativ, med katerimi lahko izbira. Ima več vrednosti in prikaže samo eno naenkrat. Današnja vadnica bo pokrivala, kako uporabljati ComboBox v Linuxu z uporabo Tkinterja.
Primer 1:
Začnimo s prvim primerom modula Tkinter v Pythonu. Preko terminalske konzole ustvarimo novo datoteko Python s pripono “py”. Po tem lahko uporabite kateri koli urejevalnik po vaši izbiri, da odprete novo ustvarjeno datoteko Python iz raziskovalca datotek. To kodo Python začnemo z uvozom knjižnice Tkinter v kodo skupaj z vsemi njenimi podobjekti, razredi in vgrajenimi entitetami.
Uvozimo njegov objekt ttk za uporabo v kodi. Najprej pokličemo funkcijo Tk() Tkinterja, da dodamo novo vrednost za objekt 't'. Objekt 't' se uporablja za klic geometrijske funkcije za ustvarjanje grafičnega uporabniškega vmesnika '200×150'. V tem prvem primeru uporabljamo metodo »frame()« Tkinterja za ustvarjanje okvirja GUI na zaslonu konzole. Objekt 'f' okvirja se tukaj zapre s funkcijo Tkinter pack().
Po tem ustvarimo seznam 'l' vrst nizov, ki vsebuje skupno 5 vrednosti nizov. Po tem uporabimo objekt Tkinter ttk za klic funkcije ComboBox Tkinterja znotraj okvira 'f'. Seznam 'l' se mu posreduje. To kombinirano polje je shranjeno v spremenljivko 'C'. Nastavimo oznako za ComboBox s funkcijo »set« in zapakiramo ComboBox z natančnimi oblazinjenji. Zdaj izvedemo funkcijo mainloop(), da izvedemo celoten program Tkinter.
Po dokončanju skripta Python shranimo kodo s Ctrl+S in se vrnemo na lupinsko konzolo sistema Linux. Poskusimo z navodilom Python3 v lupini, ki mu sledi ime datoteke Python, da izvedemo datoteko, kot je prikazano v naslednjem:
$ python3 test.py
Po izvedbi poizvedbe dobimo naslednji GUI Tkinter na zaslonu naše konzole z naslovom 'tk'. Zaslon GUI vsebuje kombinirano polje, tj. spustni seznam, z naslovom »Izberi 1 barvo« in trikotnim znakom, da ga odprete.
Ko se dotaknete znaka trikotnika, se prikaže dolg spustni seznam z vsemi razpoložljivimi možnostmi. Vidite lahko, da imamo na voljo skupno 5 možnosti.
Recimo, da na spustnem seznamu izberete barvo »Črna«. Videli boste, da je izbrana barva prikazana na območju naslova spustnega kombiniranega polja. Preostali seznam je skrit.
Primer 2:
Oglejmo si še en primer z uporabo druge metode za ustvarjanje kombiniranega polja v Tkinterju. Tako začnemo to kodo Python z uvozom modula Tkinter v isto datoteko Python kot »tk« skupaj z uvozom razreda ttk. Po tem uvozimo funkcijo showinfo() iz razreda sporočilnega polja modula Tkinter. Prav tako uvozimo spremenljivko month_name iz koledarskega modula Pythona.
Funkcijo tk() pokličemo z objektom tk modula Tkinter in rezultat konstruktorja shranimo v spremenljivko “t”. Geometrijska funkcija se pokliče z določenimi parametri, da se ustvari GUI Tkinterja z določeno velikostjo. Funkcijo title() pokličemo s parametrom »Combobox Illustration« za naslov GUI Tkinter in funkcijo Label iz razreda ttk za ustvarjanje oznake »l«. Funkcija pakiranja se uporablja za zapolnitev oznake »l«. Spremenljivka »mn« je ustvarjena s funkcijo StringVar() razreda »tk«. Kombinirano polje »mcb« je ustvarjeno s funkcijo ComboBox in spremenljivim besedilom »mn«. Kombinirano polje mcb se napolni z vrednostmi niza do 13 prek spremenljivke month_name, ki se uporablja v zanki »za«.
Stanje za kombinirano polje »mcb« je nastavljeno samo za branje in je zapakirano. Funkcija choose() je ustvarjena za klic funkcije showinfo() za ustvarjanje opozorilnega pogovornega okna z naslovom »Potrditev« in sporočilom »Izbrali ste {ne glede na vrednost}. Funkcijo bind() pokličemo s kombiniranim poljem »mcb« tako, da dodamo parametre »ComboboxSelected« in funkcijo »change«. Funkcija mainloop() se izvede za zanko iz programa Tkinter. Pred zagonom ga najprej shranimo.
To datoteko izvedemo s poizvedbo python3.
$ python 3 test.py
Naslednji zaslon Tkinter z imenom »Ilustracija kombiniranega polja« se prikaže v naslednjem:
Ko kliknemo na znak trikotnika ComboBox pod naslovom »Izberi mesec«, prikaže imena meseca.
Ko izberemo »julij«, se to prikaže na etiketi in pojavi se pogovorno okno z opozorilom in sporočilom. Za nadaljevanje pritisnite OK.
Zaključek
Gre za uporabo modula Tkinter v Pythonu za ustvarjanje kombiniranega polja v oknu GUI. Za to smo preizkusili dva preprosta, a različna primera Pythona, da bi dosegli cilj z uporabo funkcije frame() in običajnega načina ustvarjanja kombiniranega polja v GUI. Vključili smo vzorčne kode za oba primerka in naredili nekaj sprememb po izvedbi kod.