-1

我已经看到了使用 QCollat​​or 对 QStringList 进行数字排序的示例。不幸的是,QCollat​​or 直到 Qt 5.2 或更高版本才可用。我正在使用 Qt4.6.2。

我的 QStringList 只包含整数。

示例 QStringList 值:

20
2
1
3

预期的排序结果:

1
2
3
20

谁能提供一个简单的示例 C++ 源代码,它将为 QStringList 提供数字排序?

4

1 回答 1

1

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());
于 2019-01-29T19:04:44.607 回答