Python 每个标签上都有许多复选框
如果单击任何复选框,则只有第100个标签更改为“确定”。 尽管如此,如果单击每个chackbox,则需要将上面的每个数字标签更改为“ok”(1:1)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
您需要链接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')