pyqt6 一共有20行点击按钮后把第每行的QCheckBox改成勾选状态
时间: 2024-11-22 16:42:28 浏览: 19
PyQt6限制按钮点击次数 按钮点击三次后禁用
PyQt6是一个结合了Python语言和Qt库的应用程序开发框架,它允许用户创建桌面应用程序。如果你想要在一个有20行的界面上,每个按钮点击后将对应行的QCheckBox设置为选中状态,你可以这样做:
```python
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QCheckBox
class MainWidget(QWidget):
def __init__(self):
super().__init__()
self.layout = QVBoxLayout()
self.check_boxes = []
for i in range(20):
checkbox = QCheckBox('Row ' + str(i+1))
checkbox.setChecked(False) # 设置默认未选中
self.check_boxes.append(checkbox)
button = QPushButton(f'Click to check row {i+1}')
button.clicked.connect(lambda checked=i: self.toggle_checkbox(checked))
self.layout.addWidget(button)
self.layout.addWidget(checkbox)
self.setLayout(self.layout)
def toggle_checkbox(self, index):
self.check_boxes[index].setChecked(True) # 根据索引改变检查状态
if __name__ == "__main__":
app = QApplication([])
widget = MainWidget()
widget.show()
app.exec()
阅读全文