一,先给出需要排序的列表字段:
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.setCaseSensitivity(Qt::CaseSensitivity::CaseSensitive);
std::sort(list.begin(), list.end(), \