如何在QTreeView顶部插入项目
在我的应用程序中,我想在QTreeView的顶部插入一个项目 到目前为止,我所拥有的将在当前所选项目的正上方插入一个项目。代码(我认为是来自EditableTreeviewDemo): 我想我需要的是当前第一行的索引?我怎么得到这个如何在QTreeView顶部插入项目,qt,qtreeview,qabstractitemmodel,Qt,Qtreeview,Qabstractitemmodel,在我的应用程序中,我想在QTreeView的顶部插入一个项目 到目前为止,我所拥有的将在当前所选项目的正上方插入一个项目。代码(我认为是来自EditableTreeviewDemo): 我想我需要的是当前第一行的索引?我怎么得到这个 作为一个附带问题,当插入一行时,当前索引会发生什么变化?它是否继续指向同一项或同一行?首先,您必须知道insertRow是qabstractemmodel中的一个函数,它将调用insertRows(带有s)。如果要允许在模型中插入数据,必须在模型子类中重新定义此函数
作为一个附带问题,当插入一行时,当前索引会发生什么变化?它是否继续指向同一项或同一行?首先,您必须知道
insertRow
是qabstractemmodel
中的一个函数,它将调用insertRows
(带有s)。如果要允许在模型中插入数据,必须在模型子类中重新定义此函数
还认为顶层索引的任何父级都是无效的QMODEL索引。那么需要做的是:
model->insertRow(0, QModelIndex());
由于这是第二个参数的默认值,只需调用:
model->insertRow(0);
然后,在重新定义insertRows时,只需检查父索引的有效性,以确保在您希望的位置创建新闻基础数据
对于您的问题,在模型中插入数据不会影响当前和选定的项目。首先,您必须知道,
insertRow
是来自qabstractemmodel
的函数,它将调用insertRows
(带有s)。如果要允许在模型中插入数据,必须在模型子类中重新定义此函数
还认为顶层索引的任何父级都是无效的QMODEL索引。那么需要做的是:
model->insertRow(0, QModelIndex());
由于这是第二个参数的默认值,只需调用:
model->insertRow(0);
然后,在重新定义insertRows时,只需检查父索引的有效性,以确保在您希望的位置创建新闻基础数据
对于您的问题,在模型中插入数据不会影响当前和选定的项目。首先,您必须知道,
insertRow
是来自qabstractemmodel
的函数,它将调用insertRows
(带有s)。如果要允许在模型中插入数据,必须在模型子类中重新定义此函数
还认为顶层索引的任何父级都是无效的QMODEL索引。那么需要做的是:
model->insertRow(0, QModelIndex());
由于这是第二个参数的默认值,只需调用:
model->insertRow(0);
然后,在重新定义insertRows时,只需检查父索引的有效性,以确保在您希望的位置创建新闻基础数据
对于您的问题,在模型中插入数据不会影响当前和选定的项目。首先,您必须知道,
insertRow
是来自qabstractemmodel
的函数,它将调用insertRows
(带有s)。如果要允许在模型中插入数据,必须在模型子类中重新定义此函数
还认为顶层索引的任何父级都是无效的QMODEL索引。那么需要做的是:
model->insertRow(0, QModelIndex());
由于这是第二个参数的默认值,只需调用:
model->insertRow(0);
然后,在重新定义insertRows时,只需检查父索引的有效性,以确保在您希望的位置创建新闻基础数据
对于您的问题,在模型中插入数据不会影响当前项目和所选项目。谢谢您的回答和解释。谢谢您的回答和解释。谢谢您的回答和解释。谢谢您的回答和解释。谢谢您的回答和解释。