Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每个标签上都有许多复选框_Python_Pyqt_Pyqt5 - Fatal编程技术网

Python 每个标签上都有许多复选框

Python 每个标签上都有许多复选框,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,如果单击任何复选框,则只有第100个标签更改为“确定”。 尽管如此,如果单击每个chackbox,则需要将上面的每个数字标签更改为“ok”(1:1) 您需要链接QCheckBox/QLabel对,并在change()函数中使用sender() class app(QWidget): def __init__(self): super().__init__() self.ui() def ui(self): self.setGeom

如果单击任何复选框,则只有第100个标签更改为“确定”。 尽管如此,如果单击每个chackbox,则需要将上面的每个数字标签更改为“ok”(1:1)


您需要链接QCheckBox/QLabel对,并在
change()
函数中使用
sender()

class app(QWidget):
    def __init__(self):
        super().__init__()
        self.ui()

    def ui(self):
        self.setGeometry(100, 100, 1000, 500)
        self.setWindowTitle('aaa')

        for i in range(10):
            for j in range(10):
                lb = QLabel(str(i * 10 + j + 1), self)
                lb.move(50 * j + 10, 50 * i + 10) 
                cb = QCheckBox(None, self)
                cb.move(50 * j + 10, 50 * i + 25)
                cb.stateChanged.connect(self.change)
                cb.label = lb

        self.show()

    def change(self):
        self.sender().label.setText('ok')

我不明白你的意思,请你解释清楚。你的目标是什么?
class app(QWidget):
    def __init__(self):
        super().__init__()
        self.ui()

    def ui(self):
        self.setGeometry(100, 100, 1000, 500)
        self.setWindowTitle('aaa')

        for i in range(10):
            for j in range(10):
                lb = QLabel(str(i * 10 + j + 1), self)
                lb.move(50 * j + 10, 50 * i + 10) 
                cb = QCheckBox(None, self)
                cb.move(50 * j + 10, 50 * i + 25)
                cb.stateChanged.connect(self.change)
                cb.label = lb

        self.show()

    def change(self):
        self.sender().label.setText('ok')