QcheckBox aanvinkkeuzes

Op deze pagina:

    Een checkbox of aanvinkkeuze geeft de mogelijkheid om meerdere opties te kiezen (aan te vinken). Dit is tegenstelling tot de radioknoppen, waarbij steeds slechts één optie aan gezet kan worden. Een aanvinkkeuze is een instantie van de QCheckBox class.

    De QCheckBox class geeft de volgende methoden:

    isChecked()
    geeft True als deze keuze is aangevinkt
    setTristate()
    als deze op True wordt gezet, dan kan een gebruiker deze keuze niet meer aanpassen.
    setIcon()
    om een icon bij de aanvinkkeuze te zetten.
    settext()
    om de tekst aan te passen bij de aanvinkkeuze.
    setChecked()
    als deze op True gezet wordt, dan staat deze keuze default aan bij de start.

    De signalen van een checkbox:

    clicked()
    als de aanvinkbox is geklikt of als de sneltoets is gebruikt
    stateChanged()
    als de aanvinkbox aan of uit is gezet

    Voorbeeld:

    
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QLabel, QCheckBox
    from PyQt5.QtGui import QFont, QIcon
    from PyQt5.QtCore import QRect
    
    class Venster(QMainWindow):
    
        def __init__(self):
            super(Venster, self).__init__()
            self.initUI()
    
        def initUI(self):
            self.setWindowIcon(QIcon('icon.png'))
            self.setupUi(self)
            self.show()
    
        def setupUi(self, MainWindow):
            MainWindow.resize(300, 400)
            font = QFont()
            font.setPointSize(12)
            MainWindow.setFont(font)
            MainWindow.setWindowTitle("Aanvinkkeuzes")
    
            self.centralWidget = QWidget(MainWindow)
            self.centralWidget.setObjectName("centralWidget")
            self.label = QLabel(self.centralWidget)
            self.label.setGeometry(QRect(10, 20, 131, 21))
            self.label.setText('Kies kleding:')
    
            self.checkBox = QCheckBox(self.centralWidget)
            self.checkBox.setGeometry(QRect(0, 50, 85, 21))
            self.checkBox.setText('Trui')
            self.checkBox.clicked.connect(self.toonkeuzes)
            
            self.checkBox_2 = QCheckBox(self.centralWidget)
            self.checkBox_2.setGeometry(QRect(0, 80, 85, 21))
            self.checkBox_2.setText('Broek')
            self.checkBox_2.clicked.connect(self.toonkeuzes)
    
            self.checkBox_3 = QCheckBox(self.centralWidget)
            self.checkBox_3.setGeometry(QRect(0, 110, 85, 21))
            self.checkBox_3.setText('Jas')
            self.checkBox_3.clicked.connect(self.toonkeuzes)
            
            self.label_2 = QLabel(self.centralWidget)
            self.label_2.setGeometry(QRect(10, 150, 131, 21))
            self.label_2.setText('Kies kleur:')
            
            self.checkBox_4 = QCheckBox(self.centralWidget)
            self.checkBox_4.setGeometry(QRect(0, 180, 85, 21))
            self.checkBox_4.setText('Rood')
            self.checkBox_4.clicked.connect(self.toonkeuzes)
            
            self.checkBox_5 = QCheckBox(self.centralWidget)
            self.checkBox_5.setGeometry(QRect(0, 210, 85, 21))
            self.checkBox_5.setText('Groen')
            self.checkBox_5.clicked.connect(self.toonkeuzes)
            
            self.checkBox_6 = QCheckBox(self.centralWidget)
            self.checkBox_6.setGeometry(QRect(0, 240, 85, 21))
            self.checkBox_6.setText('Blauw')
            self.checkBox_6.clicked.connect(self.toonkeuzes)
            
            self.label_3 = QLabel(self.centralWidget)
            self.label_3.setGeometry(QRect(0, 310, 441, 41))
            self.label_3.setText('Keuzes')
            
            MainWindow.setCentralWidget(self.centralWidget)
    
        def toonkeuzes(self):
            keuzes = 'Keuzes: '
            if self.checkBox.isChecked():
                keuzes += ' Trui'
            if self.checkBox_2.isChecked():
                keuzes += ' Broek'
            if self.checkBox_3.isChecked():
                keuzes += ' Jas'
            if self.checkBox_4.isChecked():
                keuzes += ' Rood'
            if self.checkBox_5.isChecked():
                keuzes += ' Groen'
            if self.checkBox_6.isChecked():
                keuzes += ' Blauw'
            self.label_3.setText(keuzes)
    
    def main():
        app = QApplication(sys.argv)
        window = Venster()
        sys.exit(app.exec_())
    
    if __name__ == '__main__':
        main()
    

    aanvinkkeuzes

     

    Verwante artikelen