输出 QVector3D 到 QString

发布于 2024-11-30 02:03:34 字数 98 浏览 0 评论 0原文

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

I was surprised to learn that QVector3D does not have a built-in way of outputting the x, y, and z coordinates as a QString. I can write a simple function to do this, but I was wondering if there was a standard method of doing it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如果没结果 2024-12-07 02:03:34

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

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

但是因为该构造函数没有显式声明,所以您可以省略 QDebug:

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

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

You can use QDebug::QDebug(QString*) and the operator << from QDebug :

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

But because that constructor is not declared explicit, you can omit the QDebug:

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

(I don't know if this is a bug or a feature, and if you can rely on that second form in future versions of Qt).

浪漫之都 2024-12-07 02:03:34

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

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

You can also use the QString::number function if you need specific formatting.
Unfortunately, I wasn't able to find anything more efficient than this method

 QString("X:%1Y:%2Z:%3").arg(QString::number(location.x()), QString::number(location.y()), QString::number(location.z()));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文