繁体   English   中英

Qt-获取没有视图的QModelIndex

[英]Qt - Getting a QModelIndex without a View

我有一个QAbstractModel,它基本上是从Qt EditableTreeModel示例派生的树结构。 我已经对其进行了修改,以显示一个包含抽象数据对象的树结构,并且只能通过编程方式对其进行更新,而用户永远不会通过View对其进行更新。

问题是在需要刷新不在根目录中的节时确定QModelIndex。 Qt似乎只提供与单击事件等视图事件有关的QModelIndexes。 我的模型可以很容易地找到需要刷新的子节,但是似乎没有与视图无关的方法来获取insertRows,removeRows等所需的QModelIndex。

这个问题有一个建议,建议通过数据项进行迭代以找到QModelIndex,但是我看不到一种视图独立地将根定义为QPersistentModelIndex的方法(因为说明您不能仅对根子级使用默认的QModelIndex构造函数)。

因此,简而言之,如何在不使用View相关事件的情况下找到QModelIndex,或者以编程方式将根定义为QPersistentModelIndex,又又没有View或用户输入。

或者,是否可以选择具有模型和非可视视图以启用QModelIndexes? 无论是否显示视图,我都需要模型是最新的。

欢呼全部

您可以使用QAbstractItemModel::index(int row, int column, const QModelIndex & parent)从模型中直接获取QModelIndex 如果要查找不在根目录下的索引,请使用parent参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM