Tkinter ComboBox

Tkinter Combobox



Das ttk-Paket, eine einzigartige Modifikation von Python Tkinter, führt diese zusätzliche Komponente ein. Die Python Tkinter ComboBox zeigt jede Auswahl aus einem Dropdown-Menü 1 gleichzeitig an. Es hat ein zeitgemäßes Erscheinungsbild und eignet sich daher für Orte, an denen die Belichtung entscheidend ist. Der Gadget-Eintrag ist eine Klassenfähigkeit der Python ComboBox. Infolgedessen fügt es einige zusätzliche Auswahlmöglichkeiten und Funktionen hinzu und erbt gleichzeitig einige von der Entry-Klasse.

Ein wichtiges Widget, das in mehreren Programmen zu sehen ist, ist die ComboBox. Der Benutzer erhält eine Liste mit Alternativen zur Auswahl. Es hat mehrere Werte und zeigt immer nur einen gleichzeitig an. Das heutige Tutorial behandelt die Verwendung der ComboBox unter Linux mit Tkinter.

Beispiel 1:

Beginnen wir mit dem allerersten Beispiel des Tkinter-Moduls in Python. Über die Terminal-Konsole erstellen wir eine neue Python-Datei mit der Endung „py“. Danach können Sie mit einem beliebigen Editor Ihrer Wahl die neu generierte Python-Datei aus dem Datei-Explorer öffnen. Wir beginnen diesen Python-Code mit dem Import der Tkinter-Bibliothek in den Code zusammen mit all ihren Unterobjekten, Klassen und eingebauten Entitäten.







Wir importieren sein ttk-Objekt, das im Code verwendet werden soll. Zuerst rufen wir die Funktion Tk() von Tkinter auf, um einen neuen Wert für das Objekt „t“ hinzuzufügen. Das Objekt „t“ wird verwendet, um die Geometriefunktion aufzurufen, um eine grafische Benutzeroberfläche von „200×150“ zu erstellen. In diesem ersten Beispiel verwenden wir die „frame()“-Methode von Tkinter, um einen GUI-Frame auf dem Konsolenbildschirm zu erstellen. Das Objekt „f“ des Frames wird hier mit der Funktion Tkinter pack() geschlossen.



Danach erstellen wir eine Liste „l“ von String-Typen, die insgesamt 5 String-Werte enthält. Danach verwenden wir das Tkinter-ttk-Objekt, um die ComboBox-Funktion von Tkinter innerhalb des Frames „f“ aufzurufen. Ihm wird die Liste „l“ übergeben. Diese ComboBox wird in der Variablen „C“ gespeichert. Wir setzen das Label für die ComboBox mit der „set“-Funktion und packen die ComboBox mit exakten Paddings. Jetzt führen wir die Funktion mainloop() aus, um das gesamte Tkinter-Programm auszuführen.







Nach Abschluss des Python-Skripts speichern wir den Code mit Strg+S und kommen zurück auf die Shell-Konsole des Linux-Systems. Wir versuchen die Python3-Anweisung in der Shell, gefolgt vom Namen einer Python-Datei, um die Datei wie im Folgenden dargestellt auszuführen:

$ python3-test.py



Nach der Abfrageausführung erhalten wir auf unserem Konsolenbildschirm die folgende Tkinter-GUI mit dem Titel „tk“. Der GUI-Bildschirm enthält eine ComboBox, d. h. eine Dropdown-Liste, mit dem Titel „Choose 1 Color“ und einem Dreieckszeichen zum Öffnen.

Nach dem Tippen auf das Dreieckszeichen wird die lange Dropdown-Liste mit allen verfügbaren Optionen angezeigt. Sie können sehen, dass wir insgesamt 5 Optionen zur Auswahl haben.

Nehmen wir an, Sie wählen die Farbe „Schwarz“ aus der Dropdown-Liste. Sie werden sehen, dass die ausgewählte Farbe im Titelbereich einer Dropdown-ComboBox angezeigt wird. Die restliche Liste wird ausgeblendet.

Beispiel 2:

Schauen wir uns ein weiteres Beispiel an, das dieses Mal eine andere Methode verwendet, um eine ComboBox in Tkinter zu erstellen. Daher beginnen wir diesen Python-Code mit dem Import des Tkinter-Moduls in dieselbe Python-Datei wie „tk“ zusammen mit dem Import der ttk-Klasse davon. Danach importieren wir die Funktion showinfo() aus der Message-Box-Klasse des Tkinter-Moduls. Außerdem importieren wir die Variable month_name aus dem Kalendermodul von Python.

Wir rufen die tk()-Funktion mit dem tk-Objekt des Tkinter-Moduls auf und speichern das Konstruktor-Ergebnis in der Variablen „t“. Die Geometriefunktion wird mit angegebenen Parametern aufgerufen, um eine GUI von Tkinter mit einer bestimmten Größe zu erstellen. Die title()-Funktion wird mit einem Parameter „Combobox Illustration“ aufgerufen, um die Tkinter-GUI zu betiteln, und die Label-Funktion aus der ttk-Klasse, um ein Label „l“ zu erstellen. Die Verpackungsfunktion wird verwendet, um das Etikett „l“ zu füllen. Die Variable „mn“ wird mit der Funktion StringVar() der Klasse „tk“ erzeugt. Die ComboBox „mcb“ wird mit der ComboBox-Funktion und dem variablen Text „mn“ erstellt. Die mcb ComboBox wird über die Variable month_name, die in der „for“-Schleife verwendet wird, mit Zeichenfolgenwerten bis zu 13 gefüllt.

Der Zustand für die „mcb“ ComboBox ist auf readonly gesetzt und sie ist gepackt. Die Funktion choose() wird erstellt, um die Funktion showinfo() aufzurufen, um ein Warndialogfeld mit dem Titel „Bestätigung“ und einer Meldung „Sie haben {egal welchen Wert} gewählt. Die Funktion bind() wird mit der ComboBox „mcb“ aufgerufen, indem die Parameter „ComboboxSelected“ und die Funktion „change“ hinzugefügt werden. Die Funktion mainloop() wird ausgeführt, um das Tkinter-Programm in einer Schleife auszuführen. Speichern wir es zuerst, bevor wir es ausführen.

Wir führen diese Datei mit der python3-Abfrage aus.

$ Python 3 test.py

Der folgende Tkinter-Bildschirm namens „ComboBox illustration“ erscheint im Folgenden:

Wenn wir auf das ComboBox-Dreieckszeichen unter dem Titel „Choose a Month“ klicken, werden die Namen eines Monats angezeigt.

Wenn wir „Juli“ auswählen, wird dies auf dem Etikett angezeigt und der Dialogalarm und eine Meldung werden angezeigt. Drücken Sie OK, um fortzufahren.

Fazit

Hier geht es darum, das Tkinter-Modul von Python zu verwenden, um eine ComboBox im GUI-Fenster zu erstellen. Dazu haben wir zwei einfache, aber unterschiedliche Python-Beispiele ausprobiert, um das Ziel mit der Funktion frame() und der herkömmlichen Art der Erstellung der ComboBox in der GUI zu erreichen. Wir haben die Beispielcodes für beide Instanzen eingebaut und nach der Ausführung der Codes einige Änderungen vorgenommen.