Qt中,要怎么把Qmap的key和value值转化成QString类型啊

Qt里要怎么做才能把QMap中的key和value转换成Qstring啊

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:
    QString str = "Hello world";
    QByteArray byteArray = str.toUtf8();
    const char* c_str = byteArray.constData();
    qDebug() << c_str; // 输出 Hello world
    

    段落2: QString 转换为 int 是很方便的;但是,QString 转化为 double 类型时,我们不能直接使用 QString.toDouble(),而应该使用 QString.toFloat。

    QString str = "3.1415";
    float floatValue = str.toFloat(); // 转换为浮点数
    qDebug() << floatValue; // 输出 3.1415
    

    段落3: 将 int 转化为 QString 如果你想要将 int 转换为 QString 类型,你可以使用 QString::number() 方法。

    int num = 123;
    QString str = QString::number(num);
    qDebug() << str; // 输出 "123"
    

    段落4: 将 QString 转化为 QMap 的 key 和 value 如果你想要将 QMap 的 key 和 value,以及其它 Qt 类型,转换为 QString 类型,你可以使用 QDebug 流和 QString::arg() 方法。

    QMap<QString, int> map;
    map.insert("apple", 3);
    map.insert("orange", 5);
    qDebug() << map; // 输出 "{apple=3, orange=5}"
    
    QString str = QString("%1").arg(map);
    qDebug() << str; // 输出 "{("apple", 3), ("orange", 5)}"
    

    请编写回答。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

value不就是String,key是整形,想转也容易。

说得好像Qt的模板类不能使用QString似的

你 QMap key 和 value 是什么类型,可以直接定义 QString

QMap <QString, QString>

或者 QString 有很多接口 fromStdString 从标准字符串转为QString
QString::number 转数字

没有没有是我表达的不清楚,本来想问的是,要怎么依次获取Qmap中某一项key的值进行操作,而不是输出在控制台,用QList就可以啦😁😁😅我后来做出来了。