setCurrentItem
只能设置一个项目为选中状态。我没有看到任何一种方法可以通过编程方式设置多个项目为选中状态,但是也许我漏看了什么?当然,我的树状小部件已经配置为启用多项选择。
请注意,我正在使用的是
QTreeWidget
,而不是 QTreeView
。setCurrentItem
只能设置一个项目为选中状态。我没有看到任何一种方法可以通过编程方式设置多个项目为选中状态,但是也许我漏看了什么?QTreeWidget
,而不是 QTreeView
。使用setSelectionMode
方法:
treeWidget->setSelectionMode(QAbstractItemView::MultiSelection);
您可以使用 setSelected
在项目上进行操作:
treeWidgetItem->setSelected(true);
是的,您需要使用选择模型:
QModelIndex index = ...; // index you want to select.
QItemSelectionModel* sel_model = tree_view->selectionModel();
sel_model->select(index, QItemSelectionModel::Select);
还有其他一些方式可以操作选择模式 - 更多细节请参阅Qt助手。