QSortFilterProxyModel仅在视觉上排序,但返回错误的索引

时间:2018-04-13 13:16:30

标签: qt sorting listview model qml

我有一个从QAbstractListModel派生的列表模型和一些数据。然后是QSortFilterProxyModel模型,用于对第一个进行排序。

proxyModel_.setSourceModel(qobject_cast<QAbstractListModel *>(&myListModel_));
proxyModel_.setDynamicSortFilter(true);
proxyModel_.setSortRole(myModel_.sortingRole());

view_->rootContext()->setContextProperty("myModel", &proxyModel_);

在qml中:

ListView {
   model: myModel
   delegate: Rectangle {
      property int delegateIndex: index // I use this property for selecting the correct row from the list
       ...
   }
}

然后在代码的某处,我用

对模型进行排序
proxyModel_.sort(0, Qt::DescendingOrder);

问题是在视觉上listView被正确排序,但是当我点击某个委托时,它会在排序之前返回索引。这可能是个问题?谢谢你的帮助。

0 个答案:

没有答案