c++ qtablewidget添加复选框
时间: 2023-09-05 11:13:51 浏览: 63
要在 QTableWidget 中添加复选框,可以使用 QCheckBox 和 QTableWidgetItem。首先,你需要设置表格的列数和行数,然后在每个单元格中添加一个 QCheckBox。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QCheckBox
import sys
class TableWidget(QTableWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QTableWidget with CheckBox")
# 设置表格的行数和列数
self.setRowCount(5)
self.setColumnCount(2)
# 添加复选框
for i in range(self.rowCount()):
checkbox = QCheckBox()
item = QTableWidgetItem()
item.setFlags(item.flags() & ~Qt.ItemIsEditable)
self.setCellWidget(i, 0, checkbox)
self.setItem(i, 1, item)
self.resizeColumnsToContents()
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = TableWidget()
sys.exit(app.exec_())
```
在这个例子中,我们使用 setCellWidget() 方法将 QCheckBox 添加到第一列,使用 setItem() 方法将 QTableWidgetItem 添加到第二列。我们还使用 setFlags() 方法来禁用第二列的编辑功能,因为我们只需要在第一列中添加复选框。最后,我们使用 resizeColumnsToContents() 方法来调整列的宽度,以适应复选框和单元格内容的大小。