如何对ListView项目进行升序排序?

问题描述 投票:0回答:2

我尝试按升序对 ListView 项目进行排序,所以我尝试使用

Model->sort(int Column, Qt::AscendingOrder)

它工作正常,但我不喜欢 Qt::AscendingOrder 策略。实际上,该函数首先对以大写字符开头的单词进行排序,然后对以小写字符开头的其他单词进行排序。然后它将两个结果连接在一起。 例如:

My ListView Items are: apple
                       Ball
                       rose
                       cat
                       Orange

And i'm getting the output as:  Ball
                                Orange
                                apple
                                cat
                                rose

有没有办法自定义排序策略?请帮助我...提前致谢。

qt sorting qt4.7 qlistview qstandarditemmodel
2个回答
5
投票

使用

QSortFilterProxyModel
并将
sortCaseSensitivity
设置为
Qt::CaseInsensitive
应该可以解决问题。

或者派生您自己的模型并覆盖

sort()


0
投票

你可以应用一个技巧。添加具有相同标签的额外列,但将它们转换为小写。对此列应用排序。

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