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

最佳答案

我相信您应该能够使用QGraphicsTextItem的boundingRect方法来计算字母的高度和宽度,然后移动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);


希望这会有所帮助,问候

关于python - 在PyQt中设置QGraphicsTextItem原点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7341635/

10-10 19:50