在QTreeWidget中,是否可以设置多个项目被选中?

3
setCurrentItem 只能设置一个项目为选中状态。我没有看到任何一种方法可以通过编程方式设置多个项目为选中状态,但是也许我漏看了什么?
当然,我的树状小部件已经配置为启用多项选择。
请注意,我正在使用的是 QTreeWidget,而不是 QTreeView

1
setCurrentItem负责光标,而非选择。 - Dmitry Sazonov
@DmitrySazonov:非常感谢!我把两个搞混了。您的评论帮助我解决了另一个问题 :) - Violet Giraffe
2个回答

5

使用setSelectionMode方法:

treeWidget->setSelectionMode(QAbstractItemView::MultiSelection);

您可以使用 setSelected 在项目上进行操作:

treeWidgetItem->setSelected(true);

2

是的,您需要使用选择模型:

QModelIndex index = ...; // index you want to select.
QItemSelectionModel* sel_model = tree_view->selectionModel();
sel_model->select(index, QItemSelectionModel::Select);

还有其他一些方式可以操作选择模式 - 更多细节请参阅Qt助手。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接