我已经看到了使用 QCollator 对 QStringList 进行数字排序的示例。不幸的是,QCollator 直到 Qt 5.2 或更高版本才可用。我正在使用 Qt4.6.2。
我的 QStringList 只包含整数。
示例 QStringList 值:
20
2
1
3
预期的排序结果:
1
2
3
20
谁能提供一个简单的示例 C++ 源代码,它将为 QStringList 提供数字排序?
我已经看到了使用 QCollator 对 QStringList 进行数字排序的示例。不幸的是,QCollator 直到 Qt 5.2 或更高版本才可用。我正在使用 Qt4.6.2。
我的 QStringList 只包含整数。
示例 QStringList 值:
20
2
1
3
预期的排序结果:
1
2
3
20
谁能提供一个简单的示例 C++ 源代码,它将为 QStringList 提供数字排序?
Qt 文档QStringList::sort
建议使用 QMap 按任意顺序进行排序。您可以构建地图并获取已排序的字符串,如下所示:
QStringList l = QStringList() << "3" << "20" << "2" << "1";
QMap<int, QString> m;
for (auto s : l) m[s.toInt()] = s;
l = QStringList(m.values());