PyQt5 tutorial - CheckBox

  1. CheckBox Voorbeeld
  2. CheckBox Evenement

In deze tutorial gaan we QCheckBox leren in PyQt5. A QCheckBox is een optieknop die kan worden in- of uitgeschakeld. Gebruiker kan meerdere opties in de selectievakgroep aanvinken.

Koopmans verf professionele kwalite...
Koopmans verf professionele kwaliteit!

CheckBox Voorbeeld

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_())    

Waar,

self.checkBoxA = QCheckBox("Select This.")

self.checkBoxA is een instantie van QCheckBox widget in PyQt5. De gegeven tekst Select This. wordt weergegeven naast het CheckBox holle vierkant.

PyQt5 CheckBox-voorbeeld

CheckBox Evenement

In principe moet een gebruiker het selectievakje in- of uitschakelen, waarna de actie moet worden uitgevoerd op basis van het statuswijzingssignaal.

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)

We verbinden de slot-methode checkBoxChangeAction() met het CheckBox stateChanged signaal. Telkens wanneer de gebruiker het selectievakje in- of uitschakelt, zal het checkBoxChangeAction() oproepen.

def checkBoxChangedAction(self, state):
    if (QtCore.Qt.Checked == state):
        self.labelA.setText("Selected.")
    else:
        self.labelA.setText("Not Selected.")

Het state argument is de status van de CheckBox doorgegeven en de labelA tekst verandert in Selected. als het CheckBox is aangevinkt, of in Not Selected. als het niet is aangevinkt.

PyQt5 CheckBox-evenement