QTreeView设置多选
时间: 2023-08-27 12:06:11 浏览: 512
要在QTreeView中启用多选,你可以使用QTreeView的selectionMode属性并将其设置为QAbstractItemView::ExtendedSelection。以下是一个示例代码:
```cpp
#include <QApplication>
#include <QStandardItemModel>
#include <QTreeView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QStandardItemModel model;
model.setHorizontalHeaderLabels(QStringList() << "Name");
QStandardItem *rootItem = model.invisibleRootItem();
// 添加一些示例项
for (int i = 0; i < 5; ++i) {
QStandardItem *item = new QStandardItem(QString("Item %1").arg(i));
rootItem->appendRow(item);
}
QTreeView treeView;
treeView.setModel(&model);
treeView.setSelectionMode(QAbstractItemView::ExtendedSelection); // 设置多选
treeView.show();
return app.exec();
}
```
在上述代码中,我们首先创建了一个QStandardItemModel作为数据模型,并添加了一些示例项。然后,我们创建了一个QTreeView,并将数据模型设置给它。接下来,我们使用setSelectionMode函数将选择模式设置为QAbstractItemView::ExtendedSelection,从而启用多选功能。
当你运行这段代码时,你将能够使用Ctrl键或Shift键来进行多选。点击一个项来选择它,再次点击则取消选择。按住Ctrl键并点击不同的项来进行多选,按住Shift键并点击两个项之间的项来选择这两个项及它们之间的所有项。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文