2010-11-23 67 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?)创建稍厚 - 特定字体的正常字形,但结果几乎肯定会令人失望。字体设计师付出了很大的努力,使字体看起来很好的权重。当你离开时(比如说,通过概述每个字形),所有的设计优化都会丢失。