qtableview中添加复选框
时间: 2023-12-21 16:04:36 浏览: 91
要在QTableView中添加复选框,可以使用QStandardItemModel。以下是一个简单的例子:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtWidgets import QApplication, QTableView
app = QApplication([])
model = QStandardItemModel(4, 2)
model.setHorizontalHeaderLabels(['Name', 'Select'])
for row in range(4):
item_name = QStandardItem('Item {}'.format(row+1))
item_name.setCheckable(False)
model.setItem(row, 0, item_name)
item_select = QStandardItem()
item_select.setCheckable(True)
item_select.setCheckState(Qt.Unchecked)
model.setItem(row, 1, item_select)
table = QTableView()
table.setModel(model)
table.show()
app.exec_()
```
在这个例子中,我们创建了一个4x2的QStandardItemModel并设置了列标题。然后,我们在第一列中添加了项目名称,并将复选框设置为不可选中。在第二列中,我们添加了一个复选框,并设置其初始状态为未选中。
最后,我们将模型设置为QTableView的模型,并显示QTableView。
这个例子中的复选框是可编辑的。如果您想要只读的复选框,只需将`setCheckable(True)`替换为`setCheckable(False)`即可。
阅读全文