Seleccionar una fila en QTreeView mediante programación

Tengo un QTreeView con QFileSystemModel como modelo.

QTreeView tiene SelectionBehavior establecido en SelectRows.

En mi código, leo un conjunto de datos para seleccionar y luego los selecciono a través de:

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

Esto selecciona una celda, no la fila. .

He agregado una solución estúpida, pero preferiría solucionarlo de la manera correcta.

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

¿O es ^^ la única forma de hacerlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta