Установить начало QGraphicsTextItem в PyQt - PullRequest
2 голосов
/ 08 сентября 2011

Если я хочу поместить одну букву (QGraphicsTextItem) в QGraphicsView, есть ли способ установить текст для отображения в середине координат, которые я указываю? Если я использую QGraphicsTextItem.setPos(x,y), он обрабатывает (x, y) как верхний левый угол. Я все еще хочу, чтобы верхний левый угол QGraphicsScene оставался как (0, 0).

1 Ответ

1 голос
/ 08 сентября 2011

Я считаю, что вы должны иметь возможность использовать метод boundingRect вашего QGraphicsTextItem, чтобы вычислить высоту и ширину вашей буквы, а затем сместить позицию QGraphicsTextItem, чтобы она выглядела так, как будто она центрирована вокруг x, y координаты. Что-то вроде этого:

QGraphicsTextItem* textItem0 = new QGraphicsTextItem("Test Text Item", 0, scene);
int x = x - textItem0->boundingRect().width() / 2;
int y = y - textItem0->boundingRect().height() / 2;
textItem0->setPos(x, y);  

надеюсь, это поможет, с уважением

...