在Qt 5中具有相同字体磅值的不同实际字体大小

问题描述 投票:0回答:1

我用QGraphicsScene画一些东西。在视图中查看Spinbox。

Spinbox on screen

字体的磅值为14,让我的屏幕为96 dpi。看起来还可以。

[当我使用QSvgGenerator将场景导出到SVG时,我将分辨率设置为例如150。在绘图中,我使用给定的dpi计算所有分辨率,并使用setPointSize()设置字体大小,因此文本应具有相同的比例就像在屏幕上一样。

但是我看到的是:

Spinbox in SVG

并且在我用SVG绘制文本的任何地方,都无所谓QPainter::drawText()QTextDocument::drawContents(),具有相同磅值的字体实际上比在屏幕上大一点。

我不知道出什么问题了。有什么想法吗?

P.S。在PDF查看器中,缩放框的大小略有不同。查看文字1的比例。 SVG中的字体大约大4 pt。

qt svg fonts qt5 dpi
1个回答
0
投票

在SVG中一切正常。所有尺寸均正确。问题在于屏幕上的绘图,因为在绘制设置了磅值的文本时,QPainter使用的DPI比屏幕的物理DPI小。我猜想QPainter在某处使用了硬编码的DPI。

© www.soinside.com 2019 - 2024. All rights reserved.