在PyQt中设置QGraphicsTextItem原点

时间:2011-09-07 23:33:05

标签: python qt pyqt qgraphicsview qgraphicsscene

如果我想在QGraphicsView中放置一个字母(一个QGraphicsTextItem),有没有什么方法可以设置文本显示在我指定的坐标中间?如果我使用QGraphicsTextItem.setPos(x,y),它会将(x,y)视为左上角。我仍然希望QGraphicsScene的左上角保持为(0,0)。

1 个答案:

答案 0 :(得分:1)

我相信您应该能够使用QGraphicsTextItem的boundingRect方法来计算字母的高度和宽度,然后移动QGraphicsTextItem的位置,使其看起来像是围绕x,y坐标。像这样的Smth:

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);  

希望这有帮助,尊重