【问题标题】:Remove item from QTreeView without QModelIndex从没有 QModelIndex 的 QTreeView 中删除项目
【发布时间】:2017-01-13 07:53:31
【问题描述】:

假设我决定从我的模型中随机删除一些项目。我有对这些项目的引用,但这还不足以正确调用 beginRemoveRows() 方法。它需要知道每个项目的 QModelIndex。

但要获取项目的 QModelIndex,我还需要知道父项的 QModelIndex!

virtual QModelIndex     index(int row, int column, const QModelIndex & parent = QModelIndex()) 

只有 RootItem 没有父项,因此不需要 QModelIndex。因此,如果这是正确的做事方式,我需要从那里开始并递归遍历所有子项,直到为每个项目获得适当的 QModelIndex。

有没有更好的方法来获取随机项的 QModelIndex?

【问题讨论】:

    标签: qt qtreeview qabstractitemmodel qmodelindex


    【解决方案1】:

    没关系。显然我可以使用 createIndex 方法为我的项目创建一个 QModelIndex。

    QModelIndex QAbstractItemModel::createIndex(int arow, int acolumn, void *adata) const
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多