0
我有一個派生自QAbstractListModel
的類,基於QMap<QUuid, CustomObject>
,我用qml中的ListView
進行了可視化。在我的應用程序運行時間有一段時間,我正在根據它的QUuid
從這張地圖中刪除一些項目。當我正在執行刪除操作時,我想致電beginRemoveRows
,以便通知ListView
它的內容正在更改並需要重新繪製。如何找到beginRemoveRows
的正確索引?如何在基於QMap的QAbstractListModel中查找特定行的索引?
而是自己保持的QList的,你可以通過QMAP獲得密鑰列表:: keys() – user2155932
這是個好主意,試試吧!謝謝! – Silex
我剛剛閱讀文檔,也測試了'QMap :: keys()',不幸的是它不會工作,因爲它返回了一個ID的排序列表,因此如果我刪除並添加一個新項目在' QMap'新項目的索引可能不是最後一個索引,這可能會改變我的'QMap'中的其他幾個項目的索引。我必須獲得與'beginInsertRow'一起添加的完全相同的索引,因爲這是'ListView'意識到的。 – Silex