Python

So verwenden Sie das PyQt-Kontrollkästchen?

So verwenden Sie das PyQt-Kontrollkästchen?

Das Kontrollkästchen wird verwendet, um über die grafische Benutzeroberfläche aus vielen Optionen keine oder mehr Optionen auszuwählen. Ein Formular mit einem Kontrollkästchen kann erstellt werden mit QCheckBox -Klasse in einem Python-Skript oder mit dem QCheckBox Widget von Qt-Designer ohne ein Skript zu schreiben.

Wenn ein Formular mit einem Kontrollkästchen erstellt wird mit QCheckBox Klasse, dann ZustandGeändert.verbinden() Funktion wird aufgerufen, um die Aktion anzuwenden, die durch die Eingabe des Benutzers ausgeführt wird. Wenn der Benutzer eine Kontrollkästchenoption aktiviert hat, wird der Wert von QtCore.Qt.geprüft wird wahr sein. Mehrere Kontrollkästchen mit einer einzigen Auswahl wie Radio Button können erstellt werden mit QbuttonGruppe Klasse.

Wie ein Formular mit einem Kontrollkästchen erstellt werden kann, indem ein Python-Skript geschrieben wird, wird in diesem Tutorial gezeigt.

Notwendige Methoden der QCheckBox

QCheckBox Klasse hat viele Funktionen, um verschiedene Arten von Aufgaben mit der Checkbox zu erledigen. Einige der am häufigsten verwendeten Methoden dieser Klasse werden im Folgenden beschrieben:

Methodenname Zweck
wird geprüft() Es gibt einen booleschen Wert zurück. Wenn der Benutzer auf das Kontrollkästchen klickt, um das Kontrollkästchen zu aktivieren, wird True zurückgegeben, andernfalls wird False zurückgegeben.
setChecked() Es wird verwendet, um den Status der Checkbox zu ändern. Der Wert True wird gesetzt, um das Kontrollkästchen zu aktivieren, und der Wert False wird gesetzt, um das Kontrollkästchen zu deaktivieren.
Text() Es wird verwendet, um die Beschriftung der Checkbox zu lesen.
Text setzen() Es wird verwendet, um die Beschriftung der Checkbox zu setzen.
isTriState() Es gibt einen booleschen Wert zurück. Es wird verwendet, um den Tri-State zu überprüfen, um zu wissen, ob das Kontrollkästchen aktiviert ist oder nicht.
setTriState() Es wird verwendet, um den dritten Zustand des Kontrollkästchens zu aktivieren, der den neutralen Zustand anzeigt.

Erstellen Sie ein Formular mit Checkbox mithilfe der QCheckBox-Klasse:

Die Verwendung des Kontrollkästchens wird in diesem Abschnitt anhand verschiedener Arten von Beispielen gezeigt. Die Verwendung einer einzelnen Checkbox, wie im ersten Beispiel gezeigt, und die Verwendung mehrerer Checkboxen wird im zweiten Beispiel gezeigt.

Beispiel 1: Erstellen eines einzelnen Kontrollkästchens

So erstellen Sie ein einzelnes Kontrollkästchen mit QCheckBox Klasse und das Lesen des Eingabewertes der vom Benutzer bereitgestellten Checkbox werden in diesem Beispiel gezeigt. Die benötigten Module werden am Anfang des Skripts importiert. In der obigen Checkbox wird ein Label verwendet, um die Informationen für den Benutzer bereitzustellen. Wenn der Benutzer auf das Kontrollkästchen zum Aktivieren klickt, wird das Skript gedruckt:Beeindruckend! Du programmierst gerne“, sonst druckt das Skript, “Ach nein!, Du magst es nicht zu programmieren”.

# Erforderliche Module importieren
Importsystem
aus PyQt5 importieren QtCore, QtWidgets
von PyQt5.QtWidgets importieren QMainWindow, QCheckBox, QLabel, QVBoxLayout, QDesktopWidget
# Klasse zum Erstellen des Formulars mit einzelner Checkbox definieren
Klasse SingleCheckbox(QMainWindow):
def __init__(selbst):
Super().__drin__()
# Erstellen Sie den Etikettentext für den Benutzer
lb = QLabel("Möchtest du programmieren??", selbst)
Pfund.setGeometry(20, 20, 200, 20)
Pfund.bewegen(20, 20)
# Erstellen Sie ein Kontrollkästchen mit dem Label
cb = QCheckBox('Ja', selbst)
cb.ZustandGeändert.verbinden (selbst.Prüfe die Antwort)
cb.bewegen(20, 50)
# Stellen Sie das vertikale Qt-Layout ein
vbox = QVBoxLayout()
vbox.addWidget(lb)
vbox.addWidget(cb)
# Stellen Sie den Fenstertitel und die Größe ein
selbst.setWindowTitle('Formular mit einzelnem Kontrollkästchen')
selbst.setGeometrie(60, 60, 300, 100)
# Zeigen Sie das Fenster in der Mitte des Bildschirms an
gewinnen = selbst.frameGeometry()
pos = QDesktopWidget().verfügbarGeometrie().Center()
Sieg.moveCenter(pos)
selbst.bewegen (gewinnen).oben links())
selbst.Show()
# Funktion zur Überprüfung der Benutzereingaben definieren
def Check_Answer(self, state):
if state == QtCore.Qt.Geprüft:
print("Wow! Du programmierst gerne.")
sonst:
print("Oh nein!, Du magst es nicht zu programmieren.")
# App-Objekt erstellen und App ausführen
app = QtWidgets.QAnwendung(sys.Argument)
form = SingleCheckbox()
App.exec()

Das folgende Fenster mit einer Checkbox erscheint nach der Ausführung des Skripts.


In der folgenden Ausgabe hat der Benutzer das Kontrollkästchen zweimal aktiviert und das Kontrollkästchen einmal deaktiviert.

Beispiel 2: Mehrere Kontrollkästchen erstellen

Die Methode zum Erstellen mehrerer Kontrollkästchen mit QCheckbox Klasse und das Lesen mehrerer Werte der mehreren Checkboxen werden in diesem Beispiel gezeigt. Dem Fenster werden zwei Beschriftungen und drei Kontrollkästchen hinzugefügt. Das erste Label wird am Anfang der Kontrollkästchen hinzugefügt, um dem Benutzer Informationen bereitzustellen, während das zweite Label am Ende der Kontrollkästchen hinzugefügt wird, um die Werte des ausgewählten Kontrollkästchens oder der ausgewählten Kontrollkästchen anzuzeigen.

# Erforderliche Module importieren
Importsystem
von PyQt5.QtWidgets-Import (QWidget, QCheckBox, QApplication, QVBoxLayout, QLabel, QDesktopWidget)
# Klasse zum Erstellen des Formulars mit mehreren Kontrollkästchen definieren
Klasse MultipleCheckbox(QWidget):
def __init__(selbst):
Super().__drin__()
# Legen Sie den Etikettentext für den Benutzer fest
lb = QLabel("Wählen Sie Ihr(e) Lieblingsessen(e):", selbst)
Pfund.setGeometrie(20, 20, 100, 20)
Pfund.bewegen(20, 20)
# Erstellen Sie drei Kontrollkästchen
cb1 = QCheckBox('Schokoladenkuchen', selbst)
cb1.bewegen(20, 70)
cb1.ZustandGeändert.verbinden(lambda: selbst.Ausgewählter_Wert(cb1))
cb2 = QCheckBox('Eiscreme', selbst)
cb2.bewegen(20, 90)
cb2.ZustandGeändert.verbinden(lambda: selbst.Ausgewählter_Wert(cb2))
cb3 = QCheckBox('Pasta', selbst)
cb3.bewegen(20, 110)
cb3.ZustandGeändert.verbinden(lambda: selbst.Ausgewählter_Wert(cb3))
selbst.label = QLabel('Nichts ausgewählt')
selbst.Etikette.bewegen(20, 150)
# Stellen Sie das vertikale Qt-Layout ein
vbox = QVBoxLayout()
vbox.addWidget(lb)
vbox.addWidget(cb1)
vbox.addWidget(cb2)
vbox.addWidget(cb3)
vbox.addWidget(selbst.Etikette)
selbst.setLayout(vbox)
selbst.setWindowTitle('Formular mit mehreren Kontrollkästchen')
selbst.setGeometry(60, 60, 350, 200)
selbst.lblText = "
# Zeigen Sie das Fenster in der Mitte des Bildschirms an
gewinnen = selbst.frameGeometry()
pos = QDesktopWidget().verfügbarGeometrie().Center()
Sieg.moveCenter(pos)
selbst.bewegen (gewinnen).oben links())
selbst.Show()
# Funktion zum Lesen der Benutzereingaben definieren
def Selected_Value(self, btn):
wenn selbst.lblText != ":
str = selbst.lblText
strArray = str.Teilt(' ,')
selbst.lblText = "
für val in strArray:
wenn btn.Text() != Wert:
wenn selbst.lblText == ":
selbst.lblText = Wert
sonst:
selbst.lblText += ' ,' + Wert
wenn btn.isChecked() == Wahr:
wenn selbst.lblText == ":
selbst.lblText = btn.Text()
sonst:
selbst.lblText += ' ,' + btn.Text()
sonst:
wenn btn.isChecked() == Wahr:
wenn selbst.lblText == ":
selbst.lblText = btn.Text()
sonst:
selbst.lblText += ' ,' + btn.Text()
selbst.Etikette.setText('Du hast \n ausgewählt' + self.lblText)
# App-Objekt erstellen und App ausführen
app = QApplication(sys.Argument)
ex = MultipleCheckbox()
sys.beenden (App.exec_())

Das folgende Fenster erscheint nach der Ausführung des Skripts. Der Standardwert des zweiten Labels ist „Nichts ist ausgewählt“ und der Wert des Labels wird geändert, wenn ein Kontrollkästchen vom Benutzer aktiviert oder deaktiviert wird.


In der folgenden Ausgabe werden vom Benutzer zwei Checkboxen angekreuzt und der Wert des zweiten Labels wird auf „Schokolade, Pasta”.

Fazit

Wie Sie eine oder mehrere Checkboxen definieren und die Werte der ausgewählten Checkbox(en) lesen, wurde in diesem Tutorial anhand von zwei einfachen Beispielen erklärt. Die Gruppen von Kontrollkästchen können definiert werden, um ein bestimmtes Kontrollkästchen aus einer Gruppe auszuwählen, die hier nicht angezeigt wird.

So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...
Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...