为每一行tablewidget添加checkbox并获取其点击状态
时间: 2024-02-19 20:57:47 浏览: 63
您可以使用`QCheckBox`来创建一个复选框,并将其添加到每一行的某个单元格中。然后,您可以连接`stateChanged`信号来检测复选框的状态更改,并执行相应的操作。以下是一个示例代码:
```python
for i in range(tableWidget.rowCount()):
checkBox = QCheckBox()
checkBox.setChecked(False)
tableWidget.setCellWidget(i, 0, checkBox)
checkBox.stateChanged.connect(lambda state, row=i: self.handleCheckBox(state, row))
def handleCheckBox(self, state, row):
if state == Qt.Checked:
print(f"Row {row} checkbox is checked")
else:
print(f"Row {row} checkbox is unchecked")
```
在这个示例中,我们使用循环遍历每一行,并在第一列单元格中创建一个复选框。我们将其初始状态设置为未选中,并使用`setCellWidget()`方法将其添加到单元格中。然后,我们连接`stateChanged`信号到一个名为`handleCheckBox()`的槽函数。在槽函数中,我们检查复选框的状态,如果复选框被选中,则输出相应的信息。您可以根据需要更改槽函数中的操作来执行其他操作。
阅读全文