2
如果我想在QGraphicsView中放置一個字母(一個QGraphicsTextItem),有沒有什麼辦法可以設置文本在我指定的座標中間顯示?如果我使用QGraphicsTextItem.setPos(x,y)
,它會將(x,y)視爲左上角。不過,我仍然希望QGraphicsScene的左上角保持爲(0,0)。在PyQt中設置QGraphicsTextItem的出處
如果我想在QGraphicsView中放置一個字母(一個QGraphicsTextItem),有沒有什麼辦法可以設置文本在我指定的座標中間顯示?如果我使用QGraphicsTextItem.setPos(x,y)
,它會將(x,y)視爲左上角。不過,我仍然希望QGraphicsScene的左上角保持爲(0,0)。在PyQt中設置QGraphicsTextItem的出處
我相信你應該可以使用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);
希望這會有所幫助,至於
這水平的約1像素了,但是這可能是字體的問題。謝謝。 –