2011-09-07 41 views
2

如果我想在QGraphicsView中放置一個字母(一個QGraphicsTextItem),有沒有什麼辦法可以設置文本在我指定的座標中間顯示?如果我使用QGraphicsTextItem.setPos(x,y),它會將(x,y)視爲左上角。不過,我仍然希望QGraphicsScene的左上角保持爲(0,0)。在PyQt中設置QGraphicsTextItem的出處

回答

1

我相信你應該可以使用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); 

希望這會有所幫助,至於

+0

這水平的約1像素了,但是這可能是字體的問題。謝謝。 –