Qt/ c++ RTE请求所选索引qtableview时

Qt/C++ RTE when asking for selected indexes qtableview

本文关键字:索引 qtableview 请求 c++ RTE Qt      更新时间:2023-10-16

所以大约一个星期我一直在寻找我的问题的解决方案。我已经准备了自己的模型(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。

提前感谢您的帮助。

您应该对selectedRows()的返回值进行空检查。虽然文档没有说明,但我认为如果没有选择(我假设您想在条件中检查),它可能是NULL。