[SOLVED] Auto select child in QTreeView
-
I'm using QTreeView (model) to show some categories for user to select. Let say I have this tree view :
@Linux
|__ Ubuntu
|__ Fedora
|__ OpenSUSE@How can the tree view will select all the child under Linux when I click it?
-
First you need to connect signal (clicked()) for your treeView :-
@connect(m_treeView,SIGNAL(clicked(QModelIndex)),SLOT(onTreeViewClicked(QModelIndex)));@
and in the implementation code you can write:
@void YourClass::onTreeViewClicked(const QModelIndex &index)
{
QStandardItem *item = treeModel->itemFromIndex(index);for (int r=0; r<item->rowCount(); r++) { QModelIndex childIndex = treeModel->index(r,0,index); m_treeView->selectionModel()->select(childIndex,QItemSelectionModel::Select); }}@
You also need to set the selection mode for your treeView
@m_treeView->setSelectionMode(QAbstractItemView::MultiSelection);@You can change/clear the selection as per your requirement.
-
I know it's late...thank you!