Tkinter ComboBox

Tkinter Combobox



Het ttk-pakket, een unieke aanpassing van Python Tkinter, introduceert deze extra component. De Python Tkinter ComboBox toont elke keuze uit een vervolgkeuzemenu 1 tegelijk. Het heeft een eigentijdse uitstraling, waardoor het geschikt is voor locaties waar exposure cruciaal is. De gadget Entry is een klasse-vaardigheid van de Python ComboBox. Als gevolg hiervan voegt het een aantal extra keuzes en functies toe, terwijl het ook een aantal van de Entry-klasse erft.

Een cruciale widget die in meerdere programma's te zien is, is de ComboBox. De gebruiker krijgt een lijst met alternatieven om uit te kiezen. Het heeft verschillende waarden en geeft er altijd maar één tegelijk weer. De tutorial van vandaag behandelt het gebruik van de ComboBox in Linux met Tkinter.

Voorbeeld 1:

Laten we beginnen met het allereerste voorbeeld van de Tkinter-module in Python. We maken een nieuw Python-bestand met de extensie 'py' via de terminalconsole. Daarna kunt u elke gewenste editor gebruiken om het nieuw gegenereerde Python-bestand vanuit de bestandsverkenner te openen. We beginnen deze Python-code met het importeren van de Tkinter-bibliotheek in de code, samen met al zijn subobjecten, klassen en ingebouwde entiteiten.







We importeren het ttk-object dat in de code moet worden gebruikt. Eerst noemen we de functie Tk() van Tkinter om een ​​nieuwe waarde voor het object 't' toe te voegen. Het object 't' wordt gebruikt om de geometriefunctie aan te roepen om een ​​grafische gebruikersinterface van '200×150' te maken. In dit eerste voorbeeld gebruiken we de 'frame()'-methode van Tkinter om een ​​GUI-frame te maken op het consolescherm. Het object 'f' van het frame wordt hier gesloten met de functie Tkinter pack().



Hierna maken we een lijst 'l' van stringtypes met in totaal 5 stringwaarden erin. Hierna gebruiken we het Tkinter ttk-object om de ComboBox-functie van Tkinter binnen het frame 'f' aan te roepen. De lijst 'l' wordt eraan doorgegeven. Deze ComboBox wordt opgeslagen in de variabele “C”. We stellen het label voor de ComboBox in met behulp van de 'set' -functie en verpakken de ComboBox met exacte opvulling. Nu voeren we de functie mainloop() uit om het algemene Tkinter-programma uit te voeren.







Na het voltooien van het Python-script slaan we de code op met Ctrl+S en keren we terug naar de shell-console van het Linux-systeem. We proberen de Python3-instructie in de shell gevolgd door de naam van een Python-bestand om het bestand uit te voeren zoals weergegeven in het volgende:

$ python3 test.py



Na de uitvoering van de query krijgen we de volgende Tkinter-GUI op ons consolescherm met de titel 'tk'. Het GUI-scherm bevat een comboBox, d.w.z. een vervolgkeuzelijst, met de titel 'Kies 1 kleur' en een driehoekje om het te openen.

Nadat u op het driehoekje hebt getikt, wordt de lange vervolgkeuzelijst weergegeven met alle beschikbare opties. U kunt zien dat we in totaal 5 opties beschikbaar hebben om uit te kiezen.

Laten we zeggen dat u de kleur 'Zwart' kiest in de vervolgkeuzelijst. U zult zien dat de geselecteerde kleur wordt weergegeven in het titelgebied van een vervolgkeuzelijst ComboBox. De resterende lijst is verborgen.

Voorbeeld 2:

Laten we een ander voorbeeld bekijken met een andere methode om deze keer een ComboBox in de Tkinter te maken. We beginnen deze Python-code dus met het importeren van de Tkinter-module in hetzelfde Python-bestand als 'tk', samen met het importeren van de ttk-klasse ervan. Daarna importeren we de showinfo() functie uit de message box class van de Tkinter module. Ook importeren we de variabele month_name uit de kalendermodule van Python.

We roepen de tk()-functie aan met het tk-object van de Tkinter-module en slaan het constructorresultaat op in de variabele 't'. De geometriefunctie wordt aangeroepen met gespecificeerde parameters om een ​​GUI van Tkinter met een specifieke grootte te maken. De functie title() wordt aangeroepen met een parameter 'Combobox-illustratie' om de Tkinter-GUI een titel te geven en de functie Label van de ttk-klasse om een ​​label 'l' te maken. De pack-functie wordt gebruikt om het label 'l' te vullen. De variabele 'mn' wordt gemaakt met de functie StringVar() van de klasse 'tk'. De ComboBox 'mcb' wordt gemaakt met behulp van de ComboBox-functie en variabele tekst 'mn'. De mcb ComboBox wordt gevuld met stringwaarden tot 13 via de maandnaam variabele die wordt gebruikt in de 'for'-lus.

De status voor de 'mcb' ComboBox is ingesteld op alleen-lezen en is verpakt. De functie kies() is gemaakt om de functie showinfo() aan te roepen om een ​​waarschuwingsdialoogvenster te maken met de titel 'Bevestiging' en een bericht 'U hebt gekozen voor {ongeacht de waarde}. De functie bind() wordt aangeroepen met de 'mcb' ComboBox door de parameters 'ComboboxSelected' en de functie 'wijzigen' toe te voegen. De functie mainloop() wordt uitgevoerd om het Tkinter-programma uit te lussen. Laten we het eerst opslaan voordat we het uitvoeren.

We voeren dit bestand uit met behulp van de python3-query.

$ Python 3 test.py

Het volgende Tkinter-scherm met de naam 'ComboBox-illustratie' verschijnt in het volgende:

Wanneer we op het ComboBox-driehoeksteken onder de titel 'Kies een maand' klikken, worden de namen van een maand weergegeven.

Wanneer we “juli” kiezen, wordt dit weergegeven op het label en verschijnt de dialoogwaarschuwing en verschijnt er een bericht. Druk op OK om door te gaan.

Conclusie

Dit gaat allemaal over het gebruik van de Tkinter-module van Python om een ​​comboBox te maken in het GUI-venster. Hiervoor hebben we twee eenvoudige maar verschillende voorbeelden van Python geprobeerd om het doel te bereiken met behulp van de functie frame() en de conventionele manier om de comboBox in de GUI te maken. We hebben de voorbeeldcodes voor beide instanties opgenomen en enkele wijzigingen aangebracht na het uitvoeren van de codes.