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

标签 qt sorting qt4.7 qlistview qstandarditemmodel

我尝试按升序对 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

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

最佳答案

使用QSortFilterProxyModel并设置sortCaseSensitivityQt::CaseInsensitive 应该可以解决问题。

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

关于qt - 如何按升序对 ListView 项目进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552693/

相关文章:

c++ - 普通比较时QT 4.8崩溃

mysql自然排序

c++ - 将 TextStyle 从 C++ 传递到 QML

java - 使用 mergeSort 的合并算法合并大小为 n 的 K 个已排序数组

java - 对数组列表进行排序

autocomplete - QCompleter 和 Tab 键

c++ - 编译时找不到Qt文件

qt - 如何在 QtWebKit 中获取第一个重定向(301 或 302)事件

c++ - 动态文字大小QLabel

c++ - 如何以编程方式在 Qt 中获取网络管理器设备名称?