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