Welcome to 16892 Developer Community-Open, Learning,Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I've created a minimal reproducible example for my issue. I don't understand why it's showing AttributeError: 'QCheckBox' object has no attribute 'ischecked' Can somebody please help me understand the issue and any solution.

Example:

from PyQt5.QtWidgets import *
import sys


class a:
    
    def __init__(self):
        super().__init__()
        
        self.checkboxes_items = {
            'this': False,
            'that': True
        }
        
    def checkboxes(self):
        self.checkboxes_items_list = []
        for item, val in self.checkboxes_items.items():
            chkbox = QCheckBox()
            chkbox.setText(item)
            chkbox.setChecked(val)
            self.checkboxes_items_list.append(chkbox)  # Add to list
        for x in self.checkboxes_items_list:
            print(x.ischecked())                    # This line causes the issue


if __name__ == "__main__":
    app = QApplication(sys.argv)
    class_inst = a()
    class_inst.checkboxes()
    app.exec()

Note: I've tried to use self.chkbox instead of chkbox. but no help.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
2.8k views
Welcome To Ask or Share your Answers For Others

1 Answer

Per [Qt.Doc]: List of All Members for QCheckBox, the method (inherited from QAbstractButton) name is isChecked (1st C capitalized), so the line should be:

print(x.isChecked())

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to 16892 Developer Community-Open, Learning and Share
...