Qt listView添加勾选框
时间: 2023-10-05 11:13:59 浏览: 362
如果要在Qt ListView中添加勾选框,可以使用Qt的QStandardItemModel类来实现。具体步骤如下:
1. 创建一个QStandardItemModel对象。
```cpp
QStandardItemModel *model = new QStandardItemModel(this);
```
2. 设置model的列数。
```cpp
model->setColumnCount(2);
```
3. 循环添加数据项,并设置勾选框。
```cpp
for(int i=0; i<10; i++){
QStandardItem *item = new QStandardItem(QString("item %1").arg(i+1));
item->setCheckable(true);
item->setCheckState(Qt::Unchecked);
model->appendRow(item);
}
```
在这里,我们循环添加了10个数据项,每个数据项都设置了勾选框,并且初始状态为未选中。
4. 将model设置给ListView。
```cpp
ui->listView->setModel(model);
```
这样就完成了在ListView中添加勾选框的操作。当用户选择或取消选择某个数据项时,可以通过model的QStandardItem::checkState()函数获取当前勾选框的状态。
阅读全文