簡體   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