So verwenden Sie das PYQT -Kontrollkästchen?

So verwenden Sie das PYQT -Kontrollkästchen?

Das Kontrollkästchen wird verwendet, um mit der grafischen Benutzeroberfläche null oder mehr Optionen aus vielen Optionen auszuwählen. Ein Formular mit einem Kontrollkästchen kann durch Verwendung erstellt werden Qcheckbox Klasse in einem Python -Skript oder verwendet die Qcheckbox Widget von QT Designer Ohne ein Skript zu schreiben.

Wenn ein Formular mit einem Kontrollkästchen verwendet wird Qcheckbox Klasse dann stapped.verbinden() Die Funktion wird aufgerufen, um die von der Eingabe des Benutzers durchgeführte Aktion anzuwenden. Wenn der Benutzer eine Kontrollkästchen -Option überprüft hat, dann der Wert von Qtcore.Qt.überprüft wird wahr sein. Mehrere Kontrollkästchen mit einer einzelnen Auswahl wie Optionsschaltfläche können mithilfe von Verwendung erstellt werden Qbuttongroup Klasse.

Wie ein Formular mit einem Kontrollkästchen durch das Schreiben eines Python -Skripts erstellt werden kann, wird in diesem Tutorial angezeigt.

Notwendige Methoden von Qcheckbox

Qcheckbox Die Klasse hat viele Funktionen, um verschiedene Arten von Aufgaben mit dem Kontrollkästchen zu erledigen. Einige am häufigsten verwendete Methoden dieser Klasse werden nachstehend beschrieben:

Methodenname Zweck
wird geprüft() Es gibt einen Booleschen Wert zurück. Wenn der Benutzer klickt, um das Kontrollkästchen zu überprüfen, gibt es true zurück. Andernfalls gibt es false zurück.
setChecked () Es wird verwendet, um den Status des Kontrollkästchens zu ändern. Der wahre Wert wird so eingestellt, dass das Kontrollkästchen überprüft wird, und der falsche Wert wird festgelegt, um das Kontrollkästchen nicht zu deaktivieren.
Text() Es wird verwendet, um das Etikett des Kontrollkästchens zu lesen.
Text setzen() Es wird verwendet, um das Etikett des Kontrollkästchens einzustellen.
iStristate () Es gibt einen Booleschen Wert zurück. Es wird verwendet, um den Tri-Staat zu überprüfen, um zu wissen, ob das Kontrollkästchen aktiviert ist oder nicht.
settristate () Es wird verwendet, um den dritten Status des Kontrollkästchens zu ermöglichen, der den neutralen Zustand angibt.

Erstellen Sie ein Formular mit Checkbox mit der QCheckbox -Klasse:

Die Verwendungen des Kontrollkästchens werden in diesem Abschnitt unter Verwendung verschiedener Arten von Beispielen angezeigt. Die Verwendung eines einzelnen Kontrollfelds, wie im ersten Beispiel gezeigt, und die Verwendung mehrerer Kontrollkästchen werden im zweiten Beispiel angezeigt.

Beispiel 1: Erstellen eines einzelnen Kontrollkästchen

Die Art, ein einzelnes Kontrollkästchen mit dem Erstellen eines einzelnen Kontrollkästchens mit Qcheckbox Klasse und Lesen des Eingabwerts des vom Benutzer bereitgestellten Kontrollkästchen werden in diesem Beispiel angezeigt. Die erforderlichen Module werden zu Beginn des Skripts importiert. Im obigen Kontrollkästchen wird ein Etikett verwendet, um die Informationen für den Benutzer bereitzustellen. Wenn der Benutzer auf das Kontrollkästchen klickt, um es zu überprüfen, wird das Skript gedruckt, “Wow! Sie mögen das Programmieren"Ansonsten druckt das Skript" "Ach nein!, Du magst es nicht, programmieren”.

# Notwendige Module importieren
Importsystem
von pyqt5 import qtcore, qtwidgets
von pyqt5.Qtwidgets importieren QMainWindow, QCheckbox, Qlabel, QvboxLayout, QDesktopWidget
# Die Klasse definieren, um das Formular mit einer einzigen Kontrollkiste zu erstellen
Klasse SingleCheckbox (QmainWindow):
def __init __ (selbst):
super().__drin__()
# Erstellen Sie den Beschriftungstext für den Benutzer
LB = Qlabel ("Magst du das Programmieren?", selbst)
Pfund.Setgeometrie (20, 20, 200, 20)
Pfund.bewegen (20, 20)
# Erstellen Sie ein Kontrollkästchen mit dem Etikett
CB = QCheckbox ('Ja', Selbst)
CB.stapped.verbinden (Selbst.Prüfe die Antwort)
CB.bewegen (20, 50)
# Legen Sie das vertikale QT -Layout ein
vbox = qvboxLayout ()
Vbox.AddWidget (LB)
Vbox.AddWidget (CB)
# Legen Sie den Fenstertitel und die Größe ein
selbst.setWindowtitle ('Formular mit einem einzigen Kontrollfeld')
selbst.Setgeometrie (60, 60, 300, 100)
# Zeigen Sie das Fenster in der Mitte des Bildschirms an
win = self.Rahmenometrie ()
pos = qdesktopwidget ().Verfügbarkeitsgeometrie ().Center()
gewinnen.Movecenter (pos)
selbst.bewegen (gewinnen.oben links())
selbst.zeigen()
# Funktion definieren, um die Eingabe des Benutzers zu überprüfen
Def check_answer (Selbst, Zustand):
Wenn Status == qtcore.Qt.Überprüft:
print ("wow! Sie mögen das Programmieren."))
anders:
print ("oh nein!, Du magst es nicht, programmieren."))
# App -Objekt erstellen und die App ausführen
app = qtwidgets.Qapplication (sys.argv)
Form = SingleCheckbox ()
App.exec ()

Das folgende Fenster mit einem Kontrollkästchen wird nach der Ausführung des Skripts angezeigt.


In der folgenden Ausgabe hat der Benutzer das Kontrollkästchen zweimal überprüft und das Kontrollkästchen einmal deaktiviert.

Beispiel 2: Erstellen mehrerer Kontrollkästchen

Die Methode zum Erstellen mehrerer Kontrollkästchen mithilfe Qcheckbox Klasse und das Lesen mehrerer Werte der mehreren Kontrollkästchen werden in diesem Beispiel angezeigt. Zwei Etiketten und drei Kontrollkästchen werden dem Fenster hinzugefügt. Das erste Etikett wird am Anfang der Kontrollkästchen hinzugefügt, um Informationen für den Benutzer bereitzustellen, während das zweite Etikett am Ende der Kontrollkästchen hinzugefügt wird.

# Notwendige Module importieren
Importsystem
von pyqt5.Qtwidgets Import (Qwidget, QCheckbox, Qapplication, QvboxLayout, Qlabel, QDesktopWidget)
# Die Klasse definieren, um das Formular mit mehreren Kontrollkästchen zu erstellen
Klasse MultiplecheckBox (Qwidget):
def __init __ (selbst):
super().__drin__()
# Legen Sie den Beschriftungstext für den Benutzer fest
lb = qlabel ("Wählen Sie Ihre Lieblingsspeisen aus:", Selbst)
Pfund.setGeometry (20, 20, 100, 20)
Pfund.bewegen (20, 20)
# Erstellen Sie drei Kontrollkästchen
cb1 = qCheckbox ('Schokoladenkuchen', Selbst)
CB1.bewegen (20, 70)
CB1.stapped.verbinden (Lambda: Selbst.Selected_Value (CB1))
cb2 = qCheckbox ('Eiscreme', Selbst)
CB2.bewegen (20, 90)
CB2.stapped.verbinden (Lambda: Selbst.Selected_Value (CB2))
CB3 = QCheckbox ('Pasta', Selbst)
CB3.bewegen (20, 110)
CB3.stapped.verbinden (Lambda: Selbst.Selected_Value (CB3))
selbst.label = qlabel ('nichts ausgewählt')
selbst.Etikett.bewegen (20, 150)
# Legen Sie das vertikale QT -Layout ein
vbox = qvboxLayout ()
Vbox.AddWidget (LB)
Vbox.AddWidget (CB1)
Vbox.AddWidget (CB2)
Vbox.AddWidget (CB3)
Vbox.AddWidget (Selbst.Etikett)
selbst.setLayout (Vbox)
selbst.setWindowtitle ('Formular mit mehreren Kontrollkästchen')
selbst.Setgeometrie (60, 60, 350, 200)
selbst.lblText = "
# Zeigen Sie das Fenster in der Mitte des Bildschirms an
win = self.Rahmenometrie ()
pos = qdesktopwidget ().Verfügbarkeitsgeometrie ().Center()
gewinnen.Movecenter (pos)
selbst.bewegen (gewinnen.oben links())
selbst.zeigen()
# Funktion definieren, um die Eingabe des Benutzers zu lesen
Def Selected_Value (self, btn):
Wenn Selbst.lblText != ":
STR = Selbst.lblText
Strarrray = str.Teilt(' ,')
selbst.lblText = "
Für Val in Strarrray:
Wenn btn.Text() != val:
Wenn Selbst.lblText == ":
selbst.lblText = val
anders:
selbst.lblText + = ',' + val
Wenn btn.Isschecked () == True:
Wenn Selbst.lblText == ":
selbst.LBLTEXT = BTN.Text()
anders:
selbst.lblText + = ',' + btn.Text()
anders:
Wenn btn.Isschecked () == True:
Wenn Selbst.lblText == ":
selbst.LBLTEXT = BTN.Text()
anders:
selbst.lblText + = ',' + btn.Text()
selbst.Etikett.setText ('Sie haben \ n' + self ausgewählt.lbltext)
# App -Objekt erstellen und die App ausführen
app = qapplication (sys.argv)
ex = multiplecheckBox ()
sys.beenden (App.exec_ ())

Das folgende Fenster wird nach der Ausführung des Skripts angezeigt. Der Standardwert des zweiten Etiketts lautet “Nichts ist ausgewähltUnd der Wert des Etiketts wird geändert, wenn ein Kontrollkästchen vom Benutzer überprüft oder deaktiviert wird.


In der folgenden Ausgabe werden zwei Kontrollkästchen vom Benutzer überprüft, und der Wert der zweiten Etikett wird in “geändert“Schokolade, Pasta”.

Abschluss

Die Möglichkeit, ein oder mehrere Kontrollkästchen zu definieren und die Werte des ausgewählten Kontrollkästchen (ES) zu lesen, wurde in diesem Tutorial anhand von zwei einfachen Beispielen erläutert. Die Gruppen von Kontrollkästchen können definiert werden, um ein bestimmtes Kontrollkästchen aus einer Gruppe auszuwählen, die hier nicht angezeigt wird.