使用Qt 4.7.0,我们需要一些文本来显示正常和粗体之间的部分方式。这就是我们正在做的事情:
在Paint
子类的QGraphicsObject
方法中,我们有一个QFont
,我们称之为setWeight(58)
。我们创建QPainterPath
并调用其addText
方法,并传入QFont
。
然后,我们使用QPainter
参数来调用drawPath
,并传入我们的QPainterPath
。
我们发现,字体重量从50到62的变化对它的绘制方式没有影响。字体重量为63到75,字体颜色为粗体。
我们如何让fontWeight按预期工作?
答案 0 :(得分:1)
将字体的重量设置为重量, 这应该是一个值 QFont ::重量枚举。
W3C page on CSS font boldness很好地解释了CSS如何处理它; Qt文档说它正在做类似的事情。基本上,它应用一些启发式来尝试将您的权重值映射到适当的字体版本(常规,粗体,重型等)
有可能(可能概述一个QPainterPath
?)创建某种字体略微厚于正常的字形,但结果几乎肯定会令人失望。字体设计师花了很多精力使字体在某些重量下看起来很好。当您离开时(例如,通过概述每个字形),所有设计优化都将丢失。