Tkinter ComboBox

Tkinter Combobox



ttk-pakken, en unik modifikasjon av Python Tkinter, introduserer denne tilleggskomponenten. Python Tkinter ComboBox viser hvert valg fra en rullegardinmeny 1 om gangen. Den har et moderne utseende, noe som gjør den egnet for steder der eksponering er avgjørende. Gadget Entry er en klasseevne til Python ComboBox. Som et resultat legger den til noen tilleggsvalg og funksjoner samtidig som den arver flere fra Entry-klassen.

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.