Tkinter ComboBox

Tkinter Combobox



ttk-pakken, en unik modifikation af Python Tkinter, introducerer denne ekstra komponent. Python Tkinter ComboBox viser hvert valg fra en rullemenu 1 ad gangen. Det har et moderne udseende, hvilket gør det velegnet til steder, hvor eksponering er afgørende. Gadget Entry er en klasseevne i Python ComboBox. Som et resultat tilføjer den nogle ekstra valg og funktioner, mens den også arver flere fra Entry-klassen.

En afgørende widget, der kan ses i flere programmer, er ComboBox. Brugeren får en liste over alternativer at vælge imellem. Den har flere værdier og viser kun én ad gangen. Dagens tutorial vil dække, hvordan man bruger ComboBox i Linux ved hjælp af Tkinter.

Eksempel 1:

Lad os komme i gang med det allerførste eksempel på Tkinter-modulet i Python. Vi opretter en ny Python-fil med udvidelsen 'py' via terminalkonsollen. Derefter kan du bruge enhver editor efter eget valg til at åbne den nygenererede Python-fil fra filstifinderen. Vi starter denne Python-kode med importen af ​​Tkinter-biblioteket i koden sammen med alle dets underobjekter, klasser og indbyggede entiteter.







Vi importerer dets ttk-objekt, der skal bruges i koden. Først kalder vi Tk()-funktionen i Tkinter for at tilføje en ny værdi for objektet 't'. Objektet 't' bruges til at kalde geometrifunktionen for at skabe en grafisk brugergrænseflade på '200×150'. I dette første eksempel bruger vi 'frame()'-metoden fra Tkinter til at skabe en GUI-ramme på konsolskærmen. Objektet 'f' i rammen lukkes her ved hjælp af Tkinter pack()-funktionen.



Herefter opretter vi en liste 'l' over strengtyper, der indeholder i alt 5 strengværdier. Efter dette bruger vi Tkinter ttk-objektet til at kalde ComboBox-funktionen af ​​Tkinter inden for rammen 'f'. Listen 'l' sendes til den. Denne ComboBox gemmes i variablen 'C'. Vi sætter etiketten til ComboBox ved hjælp af 'sæt'-funktionen og pakker ComboBox med nøjagtige polstringer. Nu udfører vi funktionen mainloop() for at udføre det overordnede Tkinter-program.







Efter at have gennemført Python-scriptet gemmer vi koden med Ctrl+S og vender tilbage til Linux-systemets shell-konsol. Vi prøver Python3-instruktionen i skallen efterfulgt af navnet på en Python-fil for at udføre filen som vist i følgende:

$ python3 test.py



Efter udførelse af forespørgslen får vi følgende Tkinter GUI på vores konsolskærm med titlen 'tk'. GUI-skærmen indeholder en comboBox, dvs. en rulleliste, med titlen 'Vælg 1 farve' og et trekantskilt for at åbne den.

Efter at have trykket på trekantstegnet vises den lange rulleliste med alle dens tilgængelige muligheder. Du kan se, at vi i alt har 5 muligheder at vælge imellem.

Lad os sige, du vælger farven 'Sort' fra rullelisten. Du vil se, at den valgte farve vises på titelområdet i en rullemenu ComboBox. Den resterende liste er skjult.

Eksempel 2:

Lad os tage et kig på et andet eksempel ved at bruge en anden metode til at oprette en ComboBox i Tkinter denne gang. Således starter vi denne Python-kode med importen af ​​Tkinter-modulet i den samme Python-fil som 'tk' sammen med import af ttk-klassen af ​​den. Derefter importerer vi showinfo()-funktionen fra beskedboksklassen i Tkinter-modulet. Vi importerer også variablen month_name fra kalendermodulet i Python.

Vi kalder tk()-funktionen med tk-objektet i Tkinter-modulet og gemmer konstruktørresultatet i variablen 't'. Geometrifunktionen kaldes med specificerede parametre for at skabe en GUI af Tkinter med en bestemt størrelse. Funktionen title() kaldes med en parameter 'Combobox Illustration' for at give titel til Tkinter GUI og Label-funktionen fra ttk-klassen for at skabe en etiket 'l'. Pakkefunktionen bruges til at udfylde etiketten 'l'. Variablen 'mn' oprettes med StringVar()-funktionen i klassen 'tk'. ComboBox 'mcb' oprettes ved hjælp af ComboBox-funktionen og variabel tekst 'mn'. mcb ComboBox er fyldt med strengværdier op til 13 via variablen month_name, der bruges i 'for'-løkken.

Tilstanden for 'mcb' ComboBox er indstillet til skrivebeskyttet, og den er pakket. Vælg()-funktionen er oprettet for at kalde showinfo()-funktionen for at oprette en advarselsdialogboks med titlen 'Bekræftelse' og en besked 'Du har valgt {uanset værdien}. Binde()-funktionen kaldes med 'mcb' ComboBox ved at tilføje 'ComboboxSelected'-parametrene og 'change'-funktionen. Mainloop()-funktionen udføres for at sløjfe Tkinter-programmet. Lad os først gemme det, før vi kører.

Vi udfører denne fil ved hjælp af python3-forespørgslen.

$ python 3 test.py

Følgende Tkinter-skærm med navnet 'ComboBox-illustration' vises i det følgende:

Når vi klikker på ComboBox-trekanttegnet under titlen 'Vælg en måned', viser det navnene på en måned.

Når vi vælger 'Juli', vises det på etiketten og dialogalarmen og en besked vises. Tryk på Ok for at fortsætte.

Konklusion

Dette handler om at bruge Tkinter-modulet i Python til at oprette en comboBox i GUI-vinduet. Til dette forsøgte vi to enkle, men alligevel forskellige eksempler på Python for at nå målet ved hjælp af funktionen frame() og den konventionelle måde at skabe comboBox i GUI. Vi inkorporerede eksempelkoderne for begge instanser og lavede et par ændringer efter udførelse af koderne.