【发布时间】:2011-08-18 18:02:20
【问题描述】:
得知 QVector3D 没有将 x、y 和 z 坐标输出为 QString 的内置方法,我感到很惊讶。我可以写一个简单的函数来做到这一点,但我想知道是否有一个标准的方法来做到这一点?
【问题讨论】:
得知 QVector3D 没有将 x、y 和 z 坐标输出为 QString 的内置方法,我感到很惊讶。我可以写一个简单的函数来做到这一点,但我想知道是否有一个标准的方法来做到这一点?
【问题讨论】:
您可以使用 QDebug::QDebug(QString*) 和运算符
QString str;
QDebug(&str) << QVector3D(1,2,3);
但由于该构造函数未显式声明,您可以省略 QDebug:
QString str;
&str << QVector3D(1,2,3);
(我不知道这是一个错误还是一个特性,在未来的 Qt 版本中你是否可以依赖第二种形式)。
【讨论】:
如果您需要特定格式,也可以使用 QString::number 函数。 不幸的是,我找不到比这种方法更有效的方法
QString("X:%1Y:%2Z:%3").arg(QString::number(location.x()), QString::number(location.y()), QString::number(location.z()));
【讨论】: