А так ?
lv->selectionModel()->select(index, QItemSelectionModel::Select);
если сделать это после того как дал команду setCurentIndex(index) то выходит так , что он уже выделен это командой и select работает на то что уже выделено ...
добавлено спустя 17 минут: делаю так
int iRow = listDirs->currentIndex().row();
int curRowCount = modelDirs->rowCount(rootIndex);
if (iRow < curRowCount-1 )
{
listDirs->setCurrentIndex(modelDirs->index( iRow + 1, 0, rootIndex ) );
}
if ( curRowCount-1 == iRow )
{
listDirs->setCurrentIndex(modelDirs->index( 0, 0, rootIndex ) );
}
QItemSelection curSelect = selectionModel->selection();
curSelect.select( modelDirs->index( iRow, 0, rootIndex ) , modelDirs->index( iRow, 0, rootIndex ) );
selectionModel->select(curSelect, QItemSelectionModel::Select );
а получаетсЯ что выделяет текущую и текущая-1 строку ... и так две идут выделенные ... а нужно что бы выделяло столько строк , сколько делаем перемещение ... затем например просто переместили и выделили другой кусок строк .... нужно что бы работало как выделение на клавиатуре с нажатой ctrl .... то есть фрагментами выделять и хранить в модели ... можно так сделать ?