QT中如何设置QMap中key的顺序按照插入的顺序排序,而不是根据key自动排序,请给我完整代码
时间: 2024-02-24 12:53:29 浏览: 912
在Qt中,QMap默认是根据key进行自动排序的,如果要按照插入顺序排序,可以使用QHash或者QMap与QList结合使用。
以下是使用QMap与QList结合实现按照插入顺序排序的完整代码:
```cpp
#include <QCoreApplication>
#include <QMap>
#include <QList>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QMap<QString, QString> map;
QList<QString> list;
// 插入元素
map.insert("apple", "苹果");
list.append("apple");
map.insert("banana", "香蕉");
list.append("banana");
map.insert("orange", "橙子");
list.append("orange");
// 按照插入顺序输出
for (QString key : list) {
qDebug() << key << ":" << map.value(key);
}
return a.exec();
}
```
输出结果为:
```
"apple" : "苹果"
"banana" : "香蕉"
"orange" : "橙子"
```
可以看到,输出的顺序与插入的顺序一致。
阅读全文