So verwenden Sie Pyqt Qcombobox

So verwenden Sie Pyqt Qcombobox

A Kombinationsfeld wird verwendet, um ein Element aus einer Liste von Elementen auszuwählen, ähnlich wie beim Optionsfeld. Der Qcombobox Die Klasse von PYQT wird verwendet, um Dropdown-Listen mithilfe des Python-Skripts zu erstellen. Es bringt eine Liste der Elemente, die der Benutzer auswählen kann. Die Elemente des Combobox können mit dem Skript hinzugefügt, geändert und entfernt werden. Mehrere Elemente können wie die Kontrollkästchen -Schaltfläche aus der Liste der Elemente aus dem Combobox ausgewählt werden, dann heißt ListBox bezeichnet. Dieses Tutorial zeigt Ihnen, wie Sie Qcombobox verwenden, um eine Dropdown-Liste in Python zu erstellen.

Qcombobox -Methoden

Die Qcombobox -Klasse enthält viele Methoden zur Ausführung verschiedener Aufgaben im Zusammenhang mit Combobox. Einige der am häufigsten verwendeten Methoden dieser Klasse sind nachstehend beschrieben:

Methodenname Zweck
zählen() Wird verwendet, um die Gesamtzahl der Elemente in der Liste zu zählen.
Artikel hinzufügen() Wird verwendet, um der Liste ein einzelnes neues Element hinzuzufügen.
Elemente hinzufügen() Wird verwendet, um der Liste mehrere Elemente hinzuzufügen.
itemText () Wird verwendet, um den Text eines bestimmten Elements basierend auf einem Index zu lesen.
setItemtext () Wird verwendet, um den Text eines bestimmten Elements basierend auf einem Index festzulegen.
currentText () Wird verwendet, um den Text des ausgewählten Elements zu lesen.
currentIndex () Wird verwendet, um den Index des ausgewählten Elements zu lesen.
klar() Wird verwendet, um alle Elemente aus der Liste zu löschen.
hervorgehoben () Wird verwendet, wenn ein Element in der Liste hervorgehoben wird.
aktiviert () Wird verwendet, wenn ein Element vom Benutzer ausgewählt wird.
CurrentIndexchanged () Wird verwendet, wenn sich das Element in der Liste geändert hat.

Combobox -Verwendung

In den folgenden Abschnitten werden Beispiele angezeigt, die einige unterschiedliche Verwendungen des Combobox unter Verwendung des Qcombobox -Moduls der PYQT -Bibliothek erläutern.

Beispiel 1: Erstellen Sie eine einfache Dropdown-Liste

In diesem Beispiel wird angezeigt, wie Sie mit der Qcombobox-Klasse eine einfache Dropdown-Liste erstellen. Hier wird eine Dropdown-Liste von fünf Elementen erstellt und an eine benutzerdefinierte Funktion beigefügt, die den ausgewählten Wert aus der Liste druckt. Eine Etikett wird in der Funktion der Dropdown-Liste verwendet, um statischen Text anzuzeigen.

# Notwendige Module importieren
Importsystem
von pyqt5.Qtwidgets Import (Qapplication, Qwidget, Qlabel, QvboxLayout, Qcombobox)
# Klasse deklarieren, um den Combobox zu erstellen
Klasse Comboeplample (Qwidget):
def __init __ (selbst):
super().__drin__()
# Stellen Sie das Etikett vor dem Combobox ein
selbst.topLabel = qlabel ('Wählen Sie Ihre bevorzugte Programmiersprache:', Selbst)
# Definieren Sie den Combobox mit Elementen
combobox = qcombobox (self)
Kombinationsfeld.AddItem ('Php')
Kombinationsfeld.AddItem ('Python')
Kombinationsfeld.AddItem ('Perl')
Kombinationsfeld.AddItem ('Bash')
Kombinationsfeld.AddItem ('Java')
# Stellen Sie das Etikett nach dem Combobox ein
selbst.BottomLabel = Qlabel (", Selbst)
selbst.BottomLabel.einstellen () einstellen ()
# Definieren Sie die vartische Layoutbox
v_layout = qvboxLayout ()
v_layout.AddWidget (Selbst.Toplabel)
v_layout.AddWidget (Combobox)
v_layout.AddWidget (Selbst.BottomLabel)
# Rufen Sie die benutzerdefinierte Methode an, wenn ein Element ausgewählt ist
Kombinationsfeld.aktiviert [STR].verbinden (Selbst.ausgewählte)
# Legen Sie die Konfigurationen für das Fenster fest
selbst.SetContentsmargins (20, 20, 20, 20)
selbst.setLayout (v_layout)
selbst.Umzug (800, 300)
selbst.setwindowtitle ('Verwendung von Combobox')
# Benutzerdefinierte Funktion zum Lesen des Wertes des ausgewählten Elements
definitiv ausgewählt (Selbst, txtval):
txtval = "\ nyou haben ausgewählt:" + txtval
selbst.BottomLabel.setText (txtval)
# App -Objekt erstellen und die App ausführen
app = qapplication (sys.argv)
combobox = kombiniert () ()
Kombinationsfeld.zeigen()
App.exec ()

Wenn der Benutzer nach der Ausführung des Skripts auf die Dropdown-Liste klickt, wird die folgende Liste angezeigt.

Wenn der Benutzer den Wert auswählt Verprügeln Aus der Dropdown-Liste wird der Wert des zweiten Labels in 'geändertSie haben ausgewählt: Bash.''

Beispiel 2: Erstellen Sie einen Combobox mit der Liste

Im vorherigen Beispiel wurde die Dropdown-Liste mit statischen Daten unter Verwendung der addItem () -Methode der Qcombobox-Klasse erstellt. In diesem Beispiel wird angezeigt, wie Sie in der Dropdown-Liste mehrere Elemente hinzufügen, indem Sie eine Python-Liste definieren. Zunächst werden wir dem ersten Element der Dropdown-Liste statischer Text mit der Methode addItem () hinzufügen. Als Nächst. Eine benutzerdefinierte Funktion wird an die Dropdown-Liste angehängt, um die Nachricht in der Beschriftung basierend auf der Benutzerauswahl anzuzeigen.

# Notwendige Module importieren
Importsystem
von pyqt5.Qtwidgets import *
# Deklarieren Sie die Klasse, um Combobox mithilfe von Listendaten zu erstellen
Klasse Comboeplample (QMainWindow):
def __init __ (selbst):
super().__drin__()
# Stellen Sie den Tittle des Fensters ein
selbst.setWindowtitle ("Combobox mit Listendaten")
# Legen Sie die Geometrie für das Fenster ein
selbst.setGeometry (100, 100, 350, 150)
# Combobox erstellen
selbst.combobox = qcombobox (self)
# Legen Sie die Geometrie für den Combobox ein
selbst.Kombinationsfeld.Setgeometrie (30, 30, 200, 30)
# Listenelemente für den Combobox definieren
src_engines = ["Google.com "," Yahoo.com ", fragte.com "," Baidu.com "," Yandex.com "]
# Aktivieren Sie die bearbeitbare Option des Combobox
selbst.Kombinationsfeld.festgelegt (wahr)
# Legen Sie den ersten Element für den Combobox ein
selbst.Kombinationsfeld.AddItem ("Suchmaschine auswählen")
# Fügen Sie mehrere Elemente in die Combobox mit der Liste hinzu
selbst.Kombinationsfeld.AddItems (SRC_Engines)
# Definieren Sie Etikett am Ende des Combobox
selbst.msglabel = qlabel (", self)
# Legen Sie die Geometrie für das Etikett ein
selbst.msglabel.Setgeometrie (30, 60, 290, 60)
# Rufen Sie die benutzerdefinierte Funktion auf, wenn ein Element ausgewählt ist
selbst.Kombinationsfeld.aktiviert [STR].verbinden (Selbst.aufklickte)
# Bewegen Sie die Position des Fensters
selbst.Umzug (800, 400)
# Zeigen Sie das Fenster an
selbst.zeigen()
# Definieren Sie eine Methode, um das Click -Ereignis des Combobox zu verarbeiten
definitiv (Selbst, Val):
# Überprüfen Sie, ob ein Element vom Benutzer ausgewählt wird oder nicht
Wenn val == "Suchmaschine auswählen":
Message = "Sie haben nichts ausgewählt."
anders:
Message = "Ihre bevorzugte Suchmaschine ist" + Val
# Zeigen Sie den Nachrichtentext im Etikett an
selbst.msglabel.setText (meldung)
# Zeigen Sie die Nachricht in der Konsole an
Druck (Nachricht)
# Erstellen Sie das App -Objekt
app = qapplication (sys.argv)
# Erstellen Sie ein Objekt des Klassenobjekts
Combo = Comboexample ()
# Führen Sie die App aus
App.exec ()

Wenn der Benutzer nach der Ausführung des Skripts auf die Dropdown-Liste klickt, wird die folgende Liste angezeigt.

Wenn der Benutzer ein Element außer dem ersten Element in der Dropdown-Liste auswählt, wird der ausgewählte Wert im Etikett angezeigt, indem Sie sich mit dem anderen Text kombinieren.

Wenn der Benutzer das erste Element in der Dropdown-Liste auswählt, dann der Wert, 'Sie haben nichts ausgewählt'wird im Etikett gezeigt.

Abschluss

Dieser Artikel hat Ihnen gezeigt, wie Sie Dropdown-Listen in Python erstellen und verwenden, indem Sie die Qcombobox Klasse, die einfache Beispiele verwenden, um die Verwendung dieser Klasse besser zu verstehen.