我用QGraphicsScene
画一些东西。在视图中查看Spinbox。
字体的磅值为14,让我的屏幕为96 dpi。看起来还可以。
[当我使用QSvgGenerator
将场景导出到SVG时,我将分辨率设置为例如150。在绘图中,我使用给定的dpi计算所有分辨率,并使用setPointSize()
设置字体大小,因此文本应具有相同的比例就像在屏幕上一样。
但是我看到的是:
并且在我用SVG绘制文本的任何地方,都无所谓QPainter::drawText()
或QTextDocument::drawContents()
,具有相同磅值的字体实际上比在屏幕上大一点。
我不知道出什么问题了。有什么想法吗?
P.S。在PDF查看器中,缩放框的大小略有不同。查看文字1
的比例。 SVG中的字体大约大4 pt。
在SVG中一切正常。所有尺寸均正确。问题在于屏幕上的绘图,因为在绘制设置了磅值的文本时,QPainter
使用的DPI比屏幕的物理DPI小。我猜想QPainter在某处使用了硬编码的DPI。