tableview中的QML排序非常缓慢

问题描述 投票:1回答:1

我使用QML TableView +自己的QAbstractTableModel和QSortFilterProxyModel。我已经实现了排序,但它运行缓慢。我已经使用了没有QML的这些模型,但是使用QTableView - 它运行得很好。 30 000件商品的排序不到1秒。有人可以帮忙吗?哪里有问题?

sorting qml tableview qtquickcontrols
1个回答
0
投票

我认为QML重绘所有项目,而Model正在排序数据(在每次迭代中)。我找到了解决方案,你需要进行排序:

  1. 在QML中关闭模型
  2. 排序项目(使用模型)
  3. 返回模型。

例如

onSortIndicatorOrderChanged: {
    model = null
    MyModel.Sort(...)
    model = MyModel
}

更多细节https://forum.qt.io/topic/52026/solved-sorting-qml-tableview-is-slow/4

© www.soinside.com 2019 - 2024. All rights reserved.