得知 QVector3D 没有将 x、y 和 z 坐标输出为 QString 的内置方法,我感到很惊讶。我可以编写一个简单的函数来做到这一点,但我想知道是否有标准的方法来做到这一点?
问问题
1425 次
2 回答
10
您可以使用QDebug::QDebug(QString*)
和运算符 << 来自 QDebug :
QString str;
QDebug(&str) << QVector3D(1,2,3);
但是因为该构造函数没有显式声明,所以可以省略 QDebug:
QString str;
&str << QVector3D(1,2,3);
(我不知道这是一个错误还是一个功能,以及您是否可以在未来的 Qt 版本中依赖第二种形式)。
于 2011-08-18T23:22:05.143 回答
0
如果需要特定格式,还可以使用 QString::number 函数。不幸的是,我找不到比这种方法更有效的方法
QString("X:%1Y:%2Z:%3").arg(QString::number(location.x()), QString::number(location.y()), QString::number(location.z()));
于 2020-01-29T18:28:23.310 回答