Qt / C ++ RTE при запросе выбранных индексов qtableview - PullRequest
0 голосов
/ 02 мая 2011

Итак, около недели я искал решение своей проблемы.Я подготовил свою собственную модель (после QAbstractTableModel), и она отображается по умолчанию qTableView.Я добавил в главное меню опцию, это редактирование элемента:

void Window::EditPerson()
{
    console->alert( "Choosing person" );
    //console->alert( /*(QString)"Chosen person " +*/ QString::number( mainWidget->selectionModel()->selectedIndexes().size() ) );
    if( mainWidget->selectionModel()->selectedRows().size() <1 )
         return;
    //console->alert( /*(QString)"Chosen person " +*/ QString::number( mainWidget->selectionModel()->selectedIndexes().size() ) );
    //Person x = family->GetPerson( mainWidget->selectionModel()->selectedIndexes().value( 0 ).row() );

    //EditPersonDialog( x );
}

Быстро после вызова этой функции (которая также является слотом) в случае, если выбран какой-либо элемент, я получаю RTE.1005 * Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 02 мая 2011

Вам следует проверить нулевое значение возврата selectedRows(). Хотя в документации ничего не сказано, я думаю, что это может быть NULL, если нет выбора (который, я полагаю, вы хотите проверить в условии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...