[英]Qt QModelIndex::sibling return parent 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.