Tkinter ComboBox

Tkinter Combobox



ttk-paketet, en unik modifiering av Python Tkinter, introducerar denna extra komponent. Python Tkinter ComboBox visar varje val från en rullgardinsmeny 1 åt gången. Den har ett modernt utseende, vilket gör den lämplig för platser där exponering är avgörande. Gadgeten Entry är en klassförmåga i Python ComboBox. Som ett resultat lägger den till några ytterligare val och funktioner samtidigt som den ärver flera från Entry-klassen.

En avgörande widget som kan ses i flera program är ComboBox. Användaren får en lista med alternativ att välja mellan. Den har flera värden och visar bara ett i taget. Dagens handledning kommer att täcka hur man använder ComboBox i Linux med Tkinter.

Exempel 1:

Låt oss komma igång med det allra första exemplet på Tkinter-modulen i Python. Vi skapar en ny Python-fil med tillägget 'py' via terminalkonsolen. Efter det kan du använda valfri redigerare för att öppna den nygenererade Python-filen från filutforskaren. Vi startar denna Python-kod med importen av Tkinter-biblioteket i koden tillsammans med alla dess underobjekt, klasser och inbyggda entiteter.







Vi importerar dess ttk-objekt för att användas i koden. Först anropar vi Tk()-funktionen för Tkinter för att lägga till ett nytt värde för objektet 't'. Objektet 't' används för att anropa geometrifunktionen för att skapa ett grafiskt användargränssnitt på '200×150'. Inom detta första exempel använder vi metoden 'frame()' från Tkinter för att skapa en GUI-ram på konsolskärmen. Objektet 'f' för ramen stängs här med hjälp av Tkinter pack()-funktionen.



Efter detta skapar vi en lista 'l' med strängtyper som innehåller totalt 5 strängvärden. Efter detta använder vi Tkinter ttk-objektet för att anropa ComboBox-funktionen för Tkinter inom ramen 'f'. Listan 'l' skickas till den. Denna ComboBox sparas i variabeln 'C'. Vi ställer in etiketten för ComboBox med hjälp av 'set'-funktionen och packar ComboBox med exakta stoppningar. Nu kör vi funktionen mainloop() för att köra det övergripande Tkinter-programmet.







Efter att ha slutfört Python-skriptet sparar vi koden med Ctrl+S och kommer tillbaka till Linux-systemets skalkonsol. Vi försöker Python3-instruktionen i skalet följt av namnet på en Python-fil för att köra filen som visas i följande:

$ python3 test.py



Efter exekveringen av frågan får vi följande Tkinter GUI på vår konsolskärm med titeln 'tk'. GUI-skärmen innehåller en comboBox, det vill säga en rullgardinslista, med titeln 'Choose 1 Color' och ett triangeltecken för att öppna den.

Efter att ha tryckt på triangeltecknet visas den långa rullgardinsmenyn med alla tillgängliga alternativ. Du kan se att vi har totalt 5 alternativ att välja mellan.

Låt oss säga att du väljer färgen 'Svart' från rullgardinsmenyn. Du kommer att se att den valda färgen visas i rubrikområdet i en rullgardinsmeny ComboBox. Den återstående listan är dold.

Exempel 2:

Låt oss ta en titt på ett annat exempel med en annan metod för att skapa en ComboBox i Tkinter den här gången. Således startar vi denna Python-kod med importen av Tkinter-modulen i samma Python-fil som 'tk' tillsammans med import av ttk-klassen för den. Efter det importerar vi funktionen showinfo() från meddelandeboxklassen i Tkinter-modulen. Dessutom importerar vi variabeln month_name från kalendermodulen i Python.

Vi anropar funktionen tk() med Tkinter-modulens tk-objekt och sparar konstruktorresultatet i variabeln 't'. Geometrifunktionen anropas med specificerade parametrar för att skapa ett GUI av Tkinter med en specifik storlek. Funktionen title() anropas med en parameter 'Combobox Illustration' för att titulera Tkinter GUI och Label-funktionen från klassen ttk för att skapa en etikett 'l'. Packningsfunktionen används för att fylla etiketten 'l'. Variabeln 'mn' skapas med StringVar()-funktionen i klassen 'tk'. ComboBox 'mcb' skapas med hjälp av ComboBox-funktionen och variabel text 'mn'. mcb ComboBox är fylld med strängvärden upp till 13 via variabeln month_name som används i 'for'-loopen.

Tillståndet för 'mcb' ComboBox är inställt på skrivskyddad och den är packad. Funktionen select() skapas för att anropa showinfo()-funktionen för att skapa en varningsdialogruta med titeln 'Bekräftelse' och ett meddelande 'Du har valt {whatever the value}. Funktionen bind() anropas med 'mcb' ComboBox genom att lägga till 'ComboboxSelected'-parametrarna och 'change'-funktionen. Mainloop()-funktionen exekveras för att slinga ut Tkinter-programmet. Låt oss spara det först innan vi kör.

Vi kör den här filen med python3-frågan.

$ pytonorm 3 test.py

Följande Tkinter-skärm med namnet 'ComboBox-illustration' visas i följande:

När vi klickar på ComboBox-triangeltecknet under rubriken 'Välj en månad', visar den namnen på en månad.

När vi väljer 'Juli' visas det på etiketten och dialogvarningen och ett meddelande visas. Tryck på Ok för att fortsätta.

Slutsats

Det här handlar om att använda Tkinter-modulen i Python för att skapa en comboBox i GUI-fönstret. För detta försökte vi två enkla men ändå olika exempel på Python för att uppnå målet med hjälp av frame()-funktionen och det konventionella sättet att skapa comboBox i GUI. Vi inkorporerade exempelkoderna för båda instanserna och gjorde några ändringar efter exekveringen av koderna.