2010-06-14 108 views
0

我分類了QGraphicsItem和重新實現的paint。
在油漆我寫了這樣的用於標記項目:座標混亂

painter->drawText("Test",10,40); 

一段時間後,我覺得這可能是處理標籤有獨立的項目非常有用。所以我寫了這樣的東西。

QGraphicsTextItem *label = new QGraphicsTextItem("TEST",this); 
setPos(10,40); 

但是兩個「測試」繪圖不出現在屏幕上的相同位置。我猜想差異可能與項目座標 - 場景座標有關。我嘗試了QGraphicsItem接口中的所有mapFrom ...和mapTo ...組合,但沒有任何進展。我想要繪圖出現在屏幕上的相同位置。
我想念什麼?

+0

如果答案是我的問題的最終解決方案,我會接受它。如果答案是有用的,但不是最終解決方案,我會投票給它。 – onurozcelik 2010-06-14 08:08:03

回答

1

我假設你在兩種情況下都使用相同的字體大小和類型。如果位置差異非常小,原因可能是QGraphicTextItem正在爲其包含的文本使用一些填充。我會嘗試使用QGraphicsSimpleTextItem,它不會在內部添加花哨的東西,看看你是否仍然有同樣的問題。座標系統是同一個,如果你使用畫家或setPost,所以這不是問題。如果這沒有幫助,我會建議爲兩者指定相同的rect以避免Qt添加它擁有分隔空間。