PyQt5 Tutorial - CheckBox
In diesem Tutorial werden wir QCheckBox
in PyQt5 lernen. Eine QCheckBox
ist ein Optionsbutton, der an- oder abgewählt werden kann. Der Benutzer kann mehrere Optionen aus der Checkbox-Gruppe auswählen.
CheckBox
Beispiel
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QHBoxLayout,QCheckBox, QApplication)
class basicWindow(QWidget):
def __init__(self):
super().__init__()
layout = QHBoxLayout()
self.setLayout(layout)
self.checkBoxA = QCheckBox("Select This.")
self.labelA = QLabel("Not slected.")
layout.addWidget(self.checkBoxA)
layout.addWidget(self.labelA)
self.setGeometry(200, 200, 300, 200)
self.setWindowTitle('CheckBox Example')
if __name__ == '__main__':
app = QApplication(sys.argv)
windowExample = basicWindow()
windowExample.show()
sys.exit(app.exec_())
Wo,
self.checkBoxA = QCheckBox("Select This.")
self.checkBoxA
ist eine Instanz des QCheckBox
Widgets in PyQt5. Der angegebene Text - Select This.
wird neben dem CheckBox
-Hohlquadrat angezeigt.
CheckBox
Event
Grundsätzlich sollte ein Benutzer die Checkbox an- oder abwählen, dann sollte die Aktion auf Basis des Zustandsänderungssignals durchgeführt werden.
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QHBoxLayout,QCheckBox, QApplication)
from PyQt5 import QtCore
class basicWindow(QWidget):
def __init__(self):
super().__init__()
layout = QHBoxLayout()
self.setLayout(layout)
self.checkBoxA = QCheckBox("Select This.")
self.labelA = QLabel("Not slected.")
self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)
layout.addWidget(self.checkBoxA)
layout.addWidget(self.labelA)
self.setGeometry(200, 200, 300, 200)
self.setWindowTitle('CheckBox Example')
def checkBoxChangedAction(self, state):
if (QtCore.Qt.Checked == state):
self.labelA.setText("Selected.")
else:
self.labelA.setText("Not Selected.")
if __name__ == '__main__':
app = QApplication(sys.argv)
windowExample = basicWindow()
windowExample.show()
sys.exit(app.exec_())
self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)
Wir verbinden die Slotmethode checkBoxChangeAction()
mit dem CheckBox stateChanged
Signal. Jedes Mal, wenn der Benutzer die Checkbox an- oder abwählt, wird die Methode checkBoxChangeAction()
aufgerufen.
def checkBoxChangedAction(self, state):
if (QtCore.Qt.Checked == state):
self.labelA.setText("Selected.")
else:
self.labelA.setText("Not Selected.")
Das Argument state
ist der Zustand der übergebenen CheckBox
und der Text labelA
ändert sich zu Selected.
, wenn die CheckBox
angehakt ist, oder zu Not Selected.
, wenn sie nicht angehakt ist.