En viktig widget som kan sees i flere programmer er ComboBox. Brukeren får en liste over alternativer å velge mellom. Den har flere verdier, og viser bare én om gangen. Dagens veiledning vil dekke hvordan du bruker ComboBox i Linux ved å bruke Tkinter.
Eksempel 1:
La oss komme i gang med det aller første eksemplet på Tkinter-modulen i Python. Vi lager en ny Python-fil med utvidelsen 'py' via terminalkonsollen. Etter det kan du bruke hvilken som helst editor du ønsker for å åpne den nygenererte Python-filen fra filutforskeren. Vi starter denne Python-koden med importen av Tkinter-biblioteket i koden sammen med alle dens underobjekter, klasser og innebygde enheter.
Vi importerer ttk-objektet som skal brukes i koden. Først kaller vi Tk()-funksjonen til Tkinter for å legge til en ny verdi for objektet 't'. Objektet 't' brukes til å kalle geometrifunksjonen for å lage et grafisk brukergrensesnitt på '200×150'. I dette første eksemplet bruker vi «frame()»-metoden til Tkinter for å lage en GUI-ramme på konsollskjermen. Objektet 'f' til rammen lukkes her ved å bruke Tkinter pack()-funksjonen.
Etter dette lager vi en liste 'l' over strengtyper som inneholder totalt 5 strengverdier. Etter dette bruker vi Tkinter ttk-objektet til å kalle ComboBox-funksjonen til Tkinter innenfor rammen 'f'. Listen 'l' sendes til den. Denne ComboBox er lagret i variabelen 'C'. Vi setter etiketten for ComboBox ved å bruke 'sett'-funksjonen og pakker ComboBox med nøyaktige polstringer. Nå kjører vi mainloop()-funksjonen for å kjøre det overordnede Tkinter-programmet.
Etter å ha fullført Python-skriptet, lagrer vi koden med Ctrl+S og kommer tilbake til skallkonsollen til Linux-systemet. Vi prøver Python3-instruksjonen i skallet etterfulgt av navnet på en Python-fil for å kjøre filen som vist i følgende:
$ python3 test.py
Etter kjøringen av spørringen får vi følgende Tkinter GUI på konsollskjermen vår med tittelen 'tk'. GUI-skjermen inneholder en comboBox, det vil si en rullegardinliste, med tittelen 'Choose 1 Color' og et trekantskilt for å åpne den.
Etter å ha trykket på trekanten, vises den lange rullegardinlisten med alle tilgjengelige alternativer. Du kan se at vi har totalt 5 alternativer tilgjengelig å velge mellom.
La oss si at du velger fargen 'Svart' fra rullegardinlisten. Du vil se at den valgte fargen vises i tittelområdet til en rullegardinkombinasjonsboks. Den gjenværende listen er skjult.
Eksempel 2:
La oss ta en titt på et annet eksempel ved å bruke en annen metode for å lage en ComboBox i Tkinter denne gangen. Dermed starter vi denne Python-koden med import av Tkinter-modulen i samme Python-fil som 'tk' sammen med import av ttk-klassen til den. Etter det importerer vi showinfo()-funksjonen fra meldingsboksklassen til Tkinter-modulen. Vi importerer også månedsnavn-variabelen fra kalendermodulen til Python.
Vi kaller tk()-funksjonen med tk-objektet til Tkinter-modulen og lagrer konstruktørresultatet i variabelen 't'. Geometrifunksjonen kalles med spesifiserte parametere for å lage en GUI av Tkinter med en bestemt størrelse. Tittel()-funksjonen kalles med en parameter 'Combobox Illustration' for å gi tittelen til Tkinter GUI og Label-funksjonen fra ttk-klassen for å lage en etikett 'l'. Pakkefunksjonen brukes til å fylle etiketten 'l'. Variabelen 'mn' er opprettet med StringVar()-funksjonen til 'tk'-klassen. ComboBox 'mcb' er opprettet ved hjelp av ComboBox-funksjonen og variabel tekst 'mn'. mcb ComboBox er fylt med strengverdier opptil 13 via month_name-variabelen som brukes i 'for'-løkken.
Tilstanden for 'mcb' ComboBox er satt til skrivebeskyttet og den er pakket. Velg()-funksjonen er opprettet for å kalle opp showinfo()-funksjonen for å lage en varseldialogboks med tittelen 'Bekreftelse' og en melding 'Du har valgt {uansett verdi}. Bind()-funksjonen kalles med 'mcb' ComboBox ved å legge til 'ComboboxSelected'-parametere og 'change'-funksjonen. Mainloop()-funksjonen utføres for å løkke ut Tkinter-programmet. La oss lagre det først før vi kjører.
Vi kjører denne filen ved å bruke python3-spørringen.
$ python 3 test.py
Følgende Tkinter-skjerm med navnet 'ComboBox-illustrasjon' vises i følgende:
Når vi klikker på ComboBox-trekanttegnet under 'Velg en måned'-tittelen, viser det navnene på en måned.
Når vi velger 'Juli', vises det på etiketten og dialogvarselet og en melding vises. Trykk OK for å fortsette.
Konklusjon
Dette handler om å bruke Tkinter-modulen til Python for å lage en comboBox i GUI-vinduet. For dette prøvde vi to enkle, men forskjellige eksempler på Python for å oppnå målet ved å bruke frame()-funksjonen og den konvensjonelle måten å lage comboBox i GUI. Vi inkorporerte eksempelkodene for begge forekomstene og gjorde noen få endringer etter utføringen av kodene.