pyqt6查看checkbox状态
时间: 2024-11-22 18:42:53 浏览: 6
PyQt6限制按钮点击次数 按钮点击三次后禁用
在PyQt6中,要查看QCheckBox的状态,可以使用`isChecked()`方法。这个方法返回True如果复选框被选中,False则表示未选中。下面是一个简单的例子,展示如何在按钮的点击事件中获取并打印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.stateChanged.connect(self.update_status)
self.check_boxes.append(checkbox)
button = QPushButton(f'Check row {i+1}')
button.clicked.connect(lambda: self.toggle_checkbox(i))
self.layout.addWidget(button)
self.layout.addWidget(checkbox)
self.setLayout(self.layout)
def toggle_checkbox(self, index):
if not self.check_boxes[index].isChecked():
self.check_boxes[index].setChecked(True)
else:
self.check_boxes[index].setChecked(False)
def update_status(self, state):
index = self.sender().objectName()[-1] - '0'
print(f"Checkbox on row {index+1} is {'checked' if self.check_boxes[index].isChecked() else 'unchecked'}")
if __name__ == "__main__":
app = QApplication([])
widget = MainWidget()
widget.show()
app.exec()
在这个例子中,当QCheckBox的状态发生变化时,`update_status`函数会被调用,并打印出相应行数复选框的状态。
阅读全文