Selecionando uma linha no QTreeView programaticamente

Eu tenho um QTreeView com QFileSystemModel como modelo.

O QTreeView possui SelectionBehavior definido como SelectRows.

No meu código, li um conjunto de dados para selecioná-los e, em seguida, selecioná-los via:

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

Isso seleciona uma célula, não a linha. .

Adicionamos uma solução estúpida, mas preferimos corrigir isso da maneira correta.

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

Ou essa é a única maneira de fazê-lo?

questionAnswers(2)

yourAnswerToTheQuestion