❝今天在Qt官网看到的一篇小文章,挺不错的,分享给大家。❞
QCollator类根据排序规则算法比较字符串。以下例子是对QStringList进行数字优先且区分大小写比较排序。
#include <QStringList>
#include <QCollator>
#include <QDebug>
int main( int argc, char *argv[] ) {
QStringList myStringList = (QStringList() << "abc123" << "ABc99" << "1234abcd");
QCollator sorter;
sorter.setNumericMode(true); // 启用数字排序模式
sorter.setCaseSensitivity(Qt::CaseInsensitive); // 设置区分大小写模式
std::sort(myStringList.begin(),
myStringList.end(),
[&](const QString& a, const QString& b)
{
return sorter.compare( a, b ) < 0;
});
qDebug() << myStringList;
}
上面的代码应输出以下内容:
("1234abcd", "ABc99", "abc123")
链接: https://wiki.qt.io/QCollator
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有