2011-03-15 40 views
1

選擇的編輯項。我實現了自定義QAbstractListModel顯示在一個可編輯QListView。在模型中的項目必須進行排序,因此模型實現了sort()方法,以及數據存儲之後,從setData()調用它。保持在而QListView

目前的行爲是用戶編輯一個項目,該模型被排序,該QListView被更新。但是選擇仍然在發生編輯的索引處的項目上。相反,我希望選擇移至編輯項目的新索引。

我怎麼能與項目選擇的舉動?

回答

1

我終於找到了一種方法來實現這一目標。這很簡單,只要連接到模型的dataChanged(QModelIndex, QModelIndex)信號並更新處理程序中的選擇即可。我的錯誤是,我叫信號setData()排序模型。

相反,模型必須先排序,然後將修改後的項目的新指數可以發現,最後將dataChanged(QModelIndex, QModelIndex)信號必須被調用與新索引