gpt4 book ai didi

c++ - QSortFilterProxyModel 对多列进行排序

转载 作者:太空狗 更新时间:2023-10-29 23:33:41 27 4
gpt4 key购买 nike

我正在尝试实现一个可在多个列上排序的表格。 Qt 的 QSortFilterProxyModel 仅支持对一列进行排序(至少在 Qt 4.6.2 中)。

我找到了 this solution由 github 上的 dimkanovikov 提供,但它缺乏对添加行的动态更新。我的意思是,模型已更改,beginInsertRows()、beginRemoveRows()、它们相应的 end..- 方法和 dataChanged() 信号已发出。理想情况下,我希望只更新这些行,但模型至少应该对此类更改使用react。

Qt 的站点上还有另一个 FAQ 项目,它对 QTableWidget 进行排序,但它也缺乏动态更新。

我是 Qt 的新手,我想得到一些关于我应该如何去做的指示。

最佳答案

您可以使用 setSortRole(Qt::UserRole)QSortFilterProxyModel 的排序角色设置为不同于默认 Qt::DisplayRole 的排序角色>。然后,在您的模型的 data() 方法中返回一个正确的排序键,如果它被调用角色 Qt::UserRole,例如通过连接相关列的字符串。

关于c++ - QSortFilterProxyModel 对多列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893843/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com