将QVector3D输出到QString

use*_*abc 6 c++ qstring qt

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

ale*_*sdm 10

您可以使用QDebug::QDebug(QString*)和来自QDebug的运算符<<:

QString str;
QDebug(&str) << QVector3D(1,2,3);
Run Code Online (Sandbox Code Playgroud)

但是因为该构造函数未声明,所以可以省略QDebug:

QString str;
&str << QVector3D(1,2,3);
Run Code Online (Sandbox Code Playgroud)

(我不知道这是一个错误还是一个功能,如果你可以在Qt的未来版本中依赖第二种形式).