Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Qt ColumnView小部件在这种情况下会崩溃?_Qt_User Interface_Crash_Widget - Fatal编程技术网

为什么Qt ColumnView小部件在这种情况下会崩溃?

为什么Qt ColumnView小部件在这种情况下会崩溃?,qt,user-interface,crash,widget,Qt,User Interface,Crash,Widget,我正在Qt中测试一个使用QColumnView小部件的应用程序。小部件有两列,当单击第一列(父项)中的项目时,它的项目(子项)将显示在第二列中 我遇到的问题是: 如果任何父项的子项多于父项,则如果选择了任何“多余”子项,应用程序将崩溃 换句话说,如果有五位家长,并且每位家长都有五个(或更少)孩子,那么一切都很好。但是,如果任何父级有六个或更多子级,则如果选择了索引大于前五个的任何子级,则应用程序将崩溃 我希望以上是清楚的 谢谢。原来我需要以下几点: if(!hasIndex(row, colum

我正在Qt中测试一个使用QColumnView小部件的应用程序。小部件有两列,当单击第一列(父项)中的项目时,它的项目(子项)将显示在第二列中

我遇到的问题是:

如果任何父项的子项多于父项,则如果选择了任何“多余”子项,应用程序将崩溃

换句话说,如果有五位家长,并且每位家长都有五个(或更少)孩子,那么一切都很好。但是,如果任何父级有六个或更多子级,则如果选择了索引大于前五个的任何子级,则应用程序将崩溃

我希望以上是清楚的


谢谢。

原来我需要以下几点:

if(!hasIndex(row, column, parent))  
    return QModelIndex();

在我的“qabstractemmodel::index()”函数中。我不认为视图小部件会使用超出绑定的行/列组合调用“index()”,因为它可以使用“QAbstractItemModel::rowCount()”和QAbstractItemModel::columnCount()”来获取模型的结构

if(!hasIndex(row, column, parent))  
    return QModelIndex();

在我的“QAbstractItemModel::index()”函数中。我不认为视图小部件会调用具有超限行/列组合的“index()”,因为它可以使用“QAbstractItemModel::rowCount()”和QAbstractItemModel::columnCount()”来获取模型的结构。

请提供最简单的代码example@pnezis谢谢你的评论。事实证明,我需要以下内容:if(!hasIndex(row,column,parent))返回QModelIndex();在我的“qabstractemmodel::index()”函数中。我认为视图小部件不会使用无效的行、列组合调用“索引”,因为它可以使用“QAbstractItemModel::rowCount()”和QAbstractItemModel::columnCount()”来获取模型的结构。请提供最少的代码example@pnezis谢谢你的评论。事实证明我需要以下内容:if(!hasIndex)(行、列、父)返回QModelIndex();在我的“qabstractemmodel::index()”函数中。我认为视图小部件不会使用无效的行、列组合调用“index”,因为它可以使用“qabstractemmodel::rowCount()”和qabstractemmodel::columnCount()”来获取模型的结构。