如果我想在QGraphicsView中放置一个字母(一个QGraphicsTextItem),有没有什么方法可以设置文本显示在我指定的坐标中间?如果我使用QGraphicsTextItem.setPos(x,y)
,它会将(x,y)视为左上角。我仍然希望QGraphicsScene的左上角保持为(0,0)。
答案 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);
希望这有帮助,尊重