【问题标题】:Output QVector3D to QString将 QVector3D 输出到 QString
【发布时间】:2011-08-18 18:02:20
【问题描述】:

得知 QVector3D 没有将 x、y 和 z 坐标输出为 QString 的内置方法,我感到很惊讶。我可以写一个简单的函数来做到这一点,但我想知道是否有一个标准的方法来做到这一点?

【问题讨论】:

    标签: c++ qt qstring


    【解决方案1】:

    您可以使用 QDebug::QDebug(QString*) 和运算符

    QString str;
    QDebug(&str) << QVector3D(1,2,3);
    

    但由于该构造函数未显式声明,您可以省略 QDebug:

    QString str;
    &str << QVector3D(1,2,3);
    

    (我不知道这是一个错误还是一个特性,在未来的 Qt 版本中你是否可以依赖第二种形式)。

    【讨论】:

      【解决方案2】:

      如果您需要特定格式,也可以使用 QString::number 函数。 不幸的是,我找不到比这种方法更有效的方法

       QString("X:%1Y:%2Z:%3").arg(QString::number(location.x()), QString::number(location.y()), QString::number(location.z()));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-19
        • 1970-01-01
        • 1970-01-01
        • 2018-12-22
        • 1970-01-01
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多