質問

私はQGraphicsItemをサブクラス化し、塗料を再実装。
ペイントで、私はアイテムを標識するため、このようなものを書いてます:

 painter->drawText("Test",10,40);

私は別のアイテムにラベルを処理するのに有用である可能性があると思ういくつかの時間後。私はこのような何かを書いてます。

QGraphicsTextItem *label = new QGraphicsTextItem("TEST",this);
setPos(10,40);

しかし、二つの「TEST」の描画は、画面上の同じ場所に表示されません。シーン座標 - 私は違いがアイテム座標と関連している可能性が推測します。私はQGraphicsItemインタフェース内のすべてのmapFrom ...とmapTo ...組み合わせが、進展なしを試してみました。私は、画面上の同じ場所に表示されるように、図面にしたい。
私は欠場か?

役に立ちましたか?

解決

私はあなたがどちらの場合も同じフォントサイズと種類を使用していることを前提としています。位置の差が非常に小さい場合には理由がQGraphicTextItemは、それが含まれているテキストのいくつかのパディングを使用していることができます。あなたはまだ同じ問題を抱えている場合、私は内部的に派手なものを追加して見に行くされていないQGraphicsSimpleTextItemを使用しようとするだろう。それは問題ではありませんので、あなたは、画家やsetPostを使用する場合、座標システムは同じものです。これが解決しない場合、私は両方とも、それが分離空間を所有している追加のQtを回避するために同じ矩形を指定することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top