一,先给出需要排序的列表字段:
QVariantList list;
list << QString("你好") << QString("中国") \
<< QString("很棒") << QString("谢谢") \
<< 1 << 10 << 20 << 35 << 23 << 4 << 5 \
<< "aaa" << "bbb" << "bac" << "abc" << "cba" << "c" << "cc" \
<< "AAA" << "BBB" << "BAC" << "ABC" << "CBA" << "C" << "CC";
二,Qt自带的QCollator类实现的方式,表示扩展性不是很好,不能很好的定义规则:
qDebug() << QString("排序前:");
qDebug() << list;
QCollator collator;
collator.setNumericMode(true);
collator.se
博客主要介绍了在QT开发中,如何实现自定义列表排序规则,以满足数字优先于小写字母、小写字母优于大写字母、大写字母优于中文、中文优于其他字符的需求。由于QT自带的QCollator类扩展性不足,作者通过自定义排序规则,实现了预期的排序效果。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



