Координация путаницы - PullRequest
0 голосов
/ 14 июня 2010

Я вложил в QGraphicsItem субкласс и переопределил краску.
В краске я написал что-то вроде этого для маркировки предмета:

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

Через некоторое время я думаю, что может быть полезно обрабатывать маркировку отдельным элементом. Поэтому я написал что-то вроде этого.

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

Но два рисунка "ТЕСТ" не появляются в одном и том же месте на экране. Я думаю, что разница может быть связана с координатами элемента - координатами сцены. Я перепробовал все комбинации mapFrom ... и mapTo ... внутри интерфейса QGraphicsItem, но без прогресса. Я хочу, чтобы рисунки появлялись в одном и том же месте на экране.
Что я скучаю?

1 Ответ

1 голос
/ 14 июня 2010

Я предполагаю, что вы используете одинаковый размер и тип шрифта в обоих случаях. Если разница в положении очень мала, причина может быть в том, что QGraphicTextItem использует некоторые отступы для содержащегося в нем текста. Я попытался бы использовать QGraphicsSimpleTextItem, который не собирается добавлять модные вещи внутри, и посмотреть, если у вас все еще есть та же проблема. Система координат такая же, если вы используете painter или setPost, так что это не проблема. Если это не поможет, я предлагаю указать один и тот же прямоугольник для обоих, чтобы избежать добавления Qt его собственных пробелов.

...