Tkinter ComboBox

Tkinter Combobox



Ttk-paketti, Python Tkinterin ainutlaatuinen muunnos, esittelee tämän lisäosan. Python Tkinter ComboBox näyttää jokaisen valinnan avattavasta valikosta 1 kerrallaan. Sen ulkonäkö on nykyaikainen, joten se sopii paikkoihin, joissa valotus on ratkaisevan tärkeää. Gadget Entry on Python ComboBoxin luokkakyky. Tämän seurauksena se lisää joitain lisävaihtoehtoja ja toimintoja samalla, kun se perii useita Entry-luokasta.

Tärkeä widget, joka voidaan nähdä useissa ohjelmissa, on ComboBox. Käyttäjälle annetaan luettelo vaihtoehdoista, joista valita. Sillä on useita arvoja, ja se näyttää vain yhden kerrallaan. Tämän päivän opetusohjelma kattaa ComboBoxin käyttämisen Linuxissa Tkinterin avulla.

Esimerkki 1:

Aloitetaan ensimmäisestä esimerkistä Pythonin Tkinter-moduulista. Luomme päätekonsolin kautta uuden Python-tiedoston, jonka pääte on 'py'. Sen jälkeen voit käyttää mitä tahansa valitsemaasi editoria avataksesi juuri luodun Python-tiedoston tiedostonhallinnasta. Aloitamme tämän Python-koodin tuomalla koodissa olevan Tkinter-kirjaston sekä kaikki sen aliobjektit, luokat ja sisäänrakennetut entiteetit.







Tuomme sen ttk-objektin käytettäväksi koodissa. Ensin kutsumme Tkinterin Tk()-funktiota lisätäksemme uuden arvon objektille 't'. Objektia 't' käytetään kutsumaan geometriafunktiota graafisen käyttöliittymän luomiseksi '200 × 150'. Tässä ensimmäisessä esimerkissä hyödynnämme Tkinterin 'frame()'-menetelmää graafisen käyttöliittymäkehyksen luomiseen konsolin näytölle. Kehyksen objekti 'f' suljetaan tässä Tkinter pack() -funktiolla.



Tämän jälkeen luomme luettelon 'l' merkkijonotyypeistä, joissa on yhteensä 5 merkkijonoarvoa. Tämän jälkeen käytämme Tkinter ttk -objektia kutsumaan Tkinterin ComboBox-funktiota kehyksessä 'f'. Lista 'l' välitetään sille. Tämä yhdistelmälaatikko tallennetaan muuttujaan “C”. Asetamme ComboBoxin etiketin 'set'-toiminnolla ja pakkaamme ComboBoxin tarkalla pehmusteella. Nyt suoritamme mainloop()-funktion suorittaaksemme koko Tkinter-ohjelman.







Python-komentosarjan valmistumisen jälkeen tallennamme koodin näppäinyhdistelmällä Ctrl+S ja palaamme Linux-järjestelmän shell-konsoliin. Yritämme suorittaa Python3-käskyn komentotulkissa ja sen jälkeen Python-tiedoston nimen suorittaaksemme tiedoston seuraavassa esitetyllä tavalla:

$ python3 test.py



Kyselyn suorittamisen jälkeen saamme konsolinäytölle seuraavan Tkinter GUI:n otsikolla 'tk'. GUI-näyttö sisältää yhdistelmäruudun, eli pudotusvalikon, jonka otsikko on 'Valitse 1 väri' ja kolmiomerkki sen avaamiseksi.

Kun olet napauttanut kolmiomerkkiä, pitkä pudotusvalikko tulee näkyviin kaikkine käytettävissä olevine vaihtoehdoineen. Näet, että meillä on yhteensä 5 vaihtoehtoa, joista valita.

Oletetaan, että valitset värin 'Musta' avattavasta luettelosta. Näet, että valittu väri näkyy avattavan yhdistelmäruudun otsikkoalueella. Jäljellä oleva luettelo on piilotettu.

Esimerkki 2:

Katsotaanpa toista esimerkkiä käyttämällä eri menetelmää yhdistelmäruudun luomiseksi Tkinteriin tällä kertaa. Näin ollen aloitamme tämän Python-koodin tuomalla Tkinter-moduulin samaan Python-tiedostoon kuin 'tk' ja tuomalla sen ttk-luokan. Sen jälkeen tuomme showinfo()-funktion Tkinter-moduulin viestilaatikkoluokasta. Tuomme myös kuukauden_nimi-muuttujan Pythonin kalenterimoduulista.

Kutsumme funktiota tk() Tkinter-moduulin tk-objektilla ja tallennamme konstruktorin tuloksen muuttujaan “t”. Geometriafunktiota kutsutaan määritetyillä parametreilla tietynkokoisen Tkinterin graafisen käyttöliittymän luomiseksi. Title()-funktiota kutsutaan parametrilla 'Combobox Illustration' Tkinter GUI:n nimeämiseksi ja Label-funktiota ttk-luokasta nimiön 'l' luomiseksi. Pakkaustoimintoa käytetään etiketin 'l' täyttämiseen. Muuttuja 'mn' luodaan 'tk'-luokan StringVar()-funktiolla. ComboBox 'mcb' luodaan käyttämällä ComboBox-toimintoa ja muuttujatekstiä 'mn'. mcb ComboBox täytetään merkkijonoarvoilla aina 13 asti 'for'-silmukassa käytetyn month_name-muuttujan kautta.

'mcb' ComboBoxin tilaksi on asetettu vain luku, ja se on pakattu. Choose()-funktio luodaan kutsumaan showinfo()-funktiota ja luomaan hälytysvalintaikkuna, jonka otsikko on 'Vahvistus' ja viesti 'Olet valinnut {mikä tahansa arvon}. Bind()-funktiota kutsutaan 'mcb' ComboBoxin kanssa lisäämällä 'ComboboxSelected'-parametrit ja 'change'-funktio. Mainloop()-funktio suoritetaan silmukan poistamiseksi Tkinter-ohjelmasta. Tallennetaan se ensin ennen juoksua.

Suoritamme tämän tiedoston python3-kyselyllä.

$ python 3 test.py

Seuraava Tkinter-näyttö nimeltä 'ComboBox illustration' näkyy seuraavassa:

Kun napsautamme 'Valitse kuukausi' -otsikon alla olevaa ComboBox-kolmiomerkkiä, se näyttää kuukauden nimet.

Kun valitsemme 'Heinäkuu', se näkyy tarrassa ja dialogi varoittaa ja viesti tulee näkyviin. Jatka painamalla OK.

Johtopäätös

Tässä on kyse Pythonin Tkinter-moduulin käyttämisestä yhdistelmäruudun luomiseen GUI-ikkunassa. Tätä varten kokeilimme kahta yksinkertaista mutta erilaista esimerkkiä Pythonista saavuttaaksemme tavoitteen käyttämällä frame()-funktiota ja tavanomaista tapaa luoda ComboBox GUI:ssa. Yhdistimme mallikoodit molempiin instansseihin ja teimme muutamia muutoksia koodien suorittamisen jälkeen.