Tkinter ComboBox

Tkinter Combobox



A ttk csomag, a Python Tkinter egyedülálló módosítása, bevezeti ezt a kiegészítő összetevőt. A Python Tkinter ComboBox minden egyes választási lehetőséget egy legördülő menüből 1 egy pillanatra megjelenít. Modern megjelenésű, így alkalmas olyan helyekre, ahol az expozíció kulcsfontosságú. A gadget Entry a Python ComboBox osztályképessége. Ennek eredményeként néhány további választási lehetőséget és funkciót ad hozzá, miközben számosat örökölt az Entry osztályból.

Egy döntő widget, amely számos programban látható, a ComboBox. A felhasználó kap egy listát az alternatívák közül, amelyek közül választhat. Számos értéke van, és egyszerre csak egyet jelenít meg. A mai oktatóanyag bemutatja, hogyan kell használni a ComboBoxot Linuxban a Tkinter használatával.

1. példa:

Kezdjük a Tkinter modul legelső példájával a Pythonban. A terminálkonzolon keresztül létrehozunk egy új Python-fájlt „py” kiterjesztéssel. Ezt követően bármelyik választott szerkesztővel megnyithatja az újonnan generált Python fájlt a fájlkezelőből. Ezt a Python-kódot a Tkinter-könyvtár importálásával kezdjük a kódban, annak összes alobjektumával, osztályával és beépített entitásával együtt.







A kódban használandó ttk objektumát importáljuk. Először a Tkinter Tk() függvényét hívjuk meg, hogy új értéket adjunk a „t” objektumhoz. A „t” objektum a geometria függvény meghívására szolgál, hogy létrehozzon egy „200×150”-es grafikus felhasználói felületet. Ebben az első példában a Tkinter „frame()” metódusát használjuk egy grafikus felhasználói felület keretének létrehozására a konzol képernyőjén. A keret „f” objektuma itt a Tkinter pack() függvény segítségével zárva van.



Ezt követően létrehozunk egy „l” listát a karakterlánctípusokról, amely összesen 5 karakterlánc értéket tartalmaz. Ezt követően a Tkinter ttk objektumot használjuk a Tkinter ComboBox függvényének meghívására az „f” keretben. Az „l” lista átkerül neki. Ez a ComboBox a „C” változóba kerül mentésre. A ComboBox címkéjét a „set” funkcióval állítjuk be, és a ComboBox-ot pontos paddingokkal csomagoljuk. Most végrehajtjuk a mainloop() függvényt a teljes Tkinter program végrehajtásához.







A Python szkript befejezése után a Ctrl+S billentyűkombinációval elmentjük a kódot, és visszatérünk a Linux rendszer shell konzoljához. Megpróbáljuk a Python3 utasítást a shellben, amelyet egy Python-fájl neve követ, hogy végrehajtsuk a fájlt az alábbiak szerint:

$ python3 test.py



A lekérdezés végrehajtása után a következő Tkinter GUI-t kapjuk a konzol képernyőjén „tk” címmel. A GUI képernyő tartalmaz egy comboBox-ot, azaz egy legördülő listát, „Válassz 1 színt” címmel és egy háromszögjelet a megnyitáshoz.

A háromszög jel megérintése után megjelenik a hosszú legördülő lista az összes elérhető lehetőséggel. Láthatja, hogy összesen 5 lehetőség közül választhat.

Tegyük fel, hogy a legördülő listából válassza ki a „Fekete” színt. Látni fogja, hogy a kiválasztott szín megjelenik a legördülő ComboBox címterületén. A fennmaradó lista el van rejtve.

2. példa:

Nézzünk meg egy másik példát, amely ezúttal egy másik módszerrel hozhat létre ComboBox-ot a Tkinterben. Így ezt a Python-kódot a Tkinter modul importálásával kezdjük ugyanabban a Python-fájlban, mint a „tk” fájlban, és importáljuk a ttk osztályát. Ezt követően importáljuk a showinfo() függvényt a Tkinter modul üzenetdoboz osztályából. Ezenkívül importáljuk a month_name változót a Python naptármoduljából.

Meghívjuk a tk() függvényt a Tkinter modul tk objektumával, és a konstruktor eredményét elmentjük a „t” változóba. A geometria függvényt meghatározott paraméterekkel hívják meg egy adott méretű Tkinter grafikus felhasználói felületének létrehozásához. A title() függvényt a „Combobox Illustration” paraméterrel hívják meg a Tkinter grafikus felületének címezésére, a Label függvényt pedig a ttk osztályból, hogy létrehozzon egy „l” címkét. A pack funkció az „l” címke kitöltésére szolgál. Az „mn” változó a „tk” osztály StringVar() függvényével jön létre. A ComboBox „mcb” a ComboBox függvény és az „mn” változó szöveg használatával jön létre. Az mcb ComboBox 13-ig terjedő karakterlánc-értékekkel van feltöltve a 'for' ciklusban használt month_name változón keresztül.

Az „mcb” ComboBox állapota csak olvasható, és be van csomagolva. A select() függvény a showinfo() függvény meghívására jön létre, hogy létrehozzon egy figyelmeztető párbeszédpanelt „Megerősítés” címmel és „Ön választotta {bármilyen értéket}” üzenetet. A bind() függvényt az „mcb” ComboBox-szal hívják meg a „ComboboxSelected” paraméterek és a „change” függvény hozzáadásával. A mainloop() függvény a Tkinter program hurkolásához fut. Futás előtt mentsük el.

Ezt a fájlt a python3 lekérdezéssel hajtjuk végre.

$ piton 3 test.py

A következő „ComboBox illustration” nevű Tkinter képernyő jelenik meg a következőkben:

Ha rákattintunk a ComboBox háromszög jelre a „Válassz egy hónapot” cím alatt, megjelenik egy hónap neve.

Ha a „Július”-t választjuk, ez megjelenik a címkén, és megjelenik a párbeszédpanel, valamint egy üzenet. Nyomja meg az OK gombot a folytatáshoz.

Következtetés

Ez arról szól, hogy a Python Tkinter moduljával hozzon létre egy comboBoxot a grafikus felhasználói felület ablakában. Ehhez két egyszerű, de mégis eltérő Python-példát próbáltunk ki, hogy elérjük a célt a frame() függvény és a ComboBox grafikus felhasználói felületen történő létrehozásának hagyományos módszerével. Mindkét példányhoz beépítettük a mintakódokat, és néhány változtatást végrehajtottunk a kódok végrehajtása után.