Tutoriel PyQt5 - CheckBox

Jinku Hu 30 janvier 2023
  1. Exemple de CheckBox
  2. Événement CheckBox
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.

Exemple de CheckBox PyQt5

É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.

Événement CheckBox PyQt5

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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