2010-11-23 57 views
1

使用Qt 4.7.0,我們需要一些文本來顯示正常和粗體之間的部分路徑。下面是我們正在做的事情:qpainterpath.addtext忽略qfont權重

在我們的QGraphicsObject子類的Paint方法,我們有一個QFont,我們在呼籲setWeight(58)。我們創建一個QPainterPath並調用其addText方法,傳入我們的QFont

然後,我們用QPainter參數來調用drawPath,傳遞我們的QPainterPath

我們發現從50到62的fontweight變化在它的繪製方式上沒有什麼不同。用63到75的頭像,字體被畫成粗體。

我們如何才能讓fontWeight按照我們的預期工作?

回答

1

the documentation

設置重量的字體重量, ,其應該從 QFont ::重量枚舉的值。

W3C page on CSS font boldness對CSS如何處理它有很好的解釋; Qt文檔說它正在做類似的事情。基本上,它適用一些啓發式嘗試將您的體重值映射到適當版本的字體(常規,粗體,重磅等)

這可能(可能勾勒QPainterPath?)創建稍厚 - 特定字體的正常字形,但結果幾乎肯定會令人失望。字體設計師付出了很大的努力,使字體看起來很好的權重。當你離開時(比如說,通過概述每個字形),所有的設計優化都會丟失。