6

QVector3D には、x、y、および z 座標を QString として出力する組み込みの方法がないことを知って驚きました。これを行うための簡単な関数を書くことができますが、それを行う標準的な方法があるかどうか疑問に思っていましたか?

4

2 に答える 2

10

QDebug::QDebug(QString*)QDebugから演算子<<を使用できます:

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

ただし、そのコンストラクターは明示的に宣言されていないため、QDebugを省略できます。

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

(これがバグなのか機能なのか、そしてQtの将来のバージョンでその2番目の形式に頼ることができるかどうかはわかりません)。

于 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 に答える