Tutoriel PyQt5 - CheckBox

  1. Exemple de CheckBox
  2. Événement 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

CheckBox.py
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.checkBoxAest une instance du widgetQCheckBoxdans PyQt5. Le texte donné -Select This.sera affiché à côté du carré creuxCheckBox`.

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.

CheckBox_Event.py
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

comments powered by Disqus