在 Qt4.8 中,我有带有字体“verdana”的 QFont 对象,用于 QGraphicsTextItem,绘制在 QGraphicsView 上。我也有使用 QFont::setPointSizeF 平滑更改字体大小的 QSlider。
我观察到的是由 QGraphicsTextItem 表示的文本不能平滑缩放。相反,它在跳跃中发生变化,发生在 (qreal) 比例因子的整数值附近。在整数点的这些跳跃之间也有一些渐进的、较小的修改。
我认为,Qt 使用 libfreetype.so 来渲染字体。并且使用的字体是verdana.ttf,显然是TrueType字体。它是矢量字体,理论上可以平滑缩放。
那么为什么文本不会随着缩放因子平滑变化呢?为什么整数点很重要?
我期待看到像 Android 中那样的字体修改:当用户缩放窗口时,所有字体都会很好地平滑地增长。为什么这与 Qt 的 QFont/libfreetype 不同?