Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selecting a row in QTreeView programmatically

Tags:

I have a QTreeView with QFileSystemModel as model.

The QTreeView has SelectionBehavior set to SelectRows.

In my code I read a dataset to select and then select them via:

idx = treeview->model()->index(search);  selection->select(idx, QItemSelectionModel::Select); 

This selects a cell, not the row . .

Have added a stupid workaround, but would rather fix this the correct way.

for (int col=0; col< treeview->model()->columnCount(); col++)  {     idx = treeview->model()->index(search, col);     selection->select(idx, QItemSelectionModel::Select);  }  

Or is that ^^ the only way to do it?

like image 546
the JinX Avatar asked Feb 11 '11 09:02

the JinX


1 Answers

If you want to select a full row, you should use the following:

selection->select(idx, QItemSelectionModel::Select | QItemSelectionModel::Rows); 

Note that you may sometimes first want to clear the selection:

selection->select(idx, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows); 
like image 93
alex Avatar answered Sep 18 '22 06:09

alex