QFontMetrics 'boundingRect'関数に問題がありますが、正しい結果が返されません。デバッガでQFontMetrics boundingRect
mfntArial = QFont("Arial", 12, QFont::Bold);
QFontMetrics objMetrics(mfntArial);
QRect rctLine = objMetrics.boundingRect("LOS");
、rctLineが含まれています
x1 : 1
x2 : 26
y1 : -16
y2 : 4
これは非常に混乱して、渡された何の基準位置が存在しないので、私は両方のX1とY1は0に期待すると私は両方X2を期待し、 y2は正となる。
返される矩形が正しくないため、drawTextと配置で使用すると、文字列の一部が表示されません。
この関数がどうやって間違った結果を返すかについて、私は知っていますが、私はこれらを見て、彼らは私を助けませんでした。
RedHat 7.2でQt5.6を使用しています。
私も試してみた:
x1 : 8
x2 : 289
y1 : 24
y2 : 447
intAlignが33含まれています(左、上)
この場合のrctLineには:pobjParentは親ウィジェットであるとrctParentが含まれてい
QRect rctParent = pobjParent->geometry();
QRect rctLine = objMetrics.boundingRect(rctParent, intAlign, "LOS");
返信:
x1 : 8
x2 : 35
y1 : 24
y2 : 44
しかし、境界の再結び目はまだ小さく、レンダリング時に 'S'の一部が欠けています。
Official Qt documentation on QFontMetrics
同じ問題[こちら](http://stackoverflow.com/questions/27336001/qfontmetrics-returns-inaccurate-results)ドキュメンテーション[here](http://doc.qt.io/qt-4.8/qfontmetrics.html#boundingRect-2) – LogicStuff