Tutoriel PyQt5 - CheckBox
Dans ce tutoriel, nous allons apprendre QCheckBox
dans PyQt5. Une QCheckBox
est un bouton d’option qui peut être coché ou décoché. L’utilisateur peut cocher plusieurs options du groupe de cases à cocher.
Exemple de CheckBox
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_())
Où,
self.checkBoxA = QCheckBox("Select This.")
self.checkBoxA
est une instance du widget QCheckBox
dans PyQt5. Le texte donné - Select This.
sera affiché à côté du carré creux CheckBox
.
Événement CheckBox
Fondamentalement, un utilisateur doit cocher ou décocher la case, puis l’action doit être effectuée en fonction du signal de changement d’état.
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)
Nous connectons la méthode de slot checkBoxChangeAction()
au signal CheckBox stateChanged
. Chaque fois que l’utilisateur cochera ou décochera la case, il appellera checkBoxChangeAction()
.
def checkBoxChangedAction(self, state):
if QtCore.Qt.Checked == state:
self.labelA.setText("Selected.")
else:
self.labelA.setText("Not Selected.")
L’argument state
est l’état de la CheckBox
passée et le texte labelA
changera en Selected.
si la CheckBox
est cochée, ou en Not Selected.
si elle est décochée.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook