qt - Qt 5中具有相同字体点大小的不同实际字体大小
问题描述
我QGraphicsScene
用来画一些东西。查看视图中的 spinbox。
字体的磅值是 14,让我的屏幕是 96 dpi。看起来还可以。
当我使用 将场景导出为 SVG 时QSvgGenerator
,我将分辨率设置为 150。在绘图中,我使用给定的 dpi 计算所有内容,并使用 设置字体大小setPointSize()
,因此文本应该与屏幕上的比例相同。
但我看到的是:
在我在 SVG 中绘制文本的任何地方,不管是 aQPainter::drawText()
还是QTextDocument::drawContents()
,具有相同点大小的字体实际上比屏幕上的要大一点。
我不知道出了什么问题。有任何想法吗?
PS 旋转框大小略有不同是 PDF 查看器中的缩放。看文字的比例1
。SVG 中的字体大约在 4 pt 上更大。
解决方案
在 SVG 中一切正常。所有尺寸都是正确的。问题在于在屏幕上绘图,因为QPainter
在设置点大小的情况下绘制文本时使用的 DPI 小于屏幕的物理 DPI。我猜 QPainter 在某处使用了硬编码的 DPI。
推荐阅读
- php - 如何在 laravel 中设置会话 ID
- flutter - Google 登录不适用于后台并发复制 GC 已释放 137306(5760KB)AllocSpace 对象在 Flutter 中出现错误
- android - 是否可以使用 Android Room Database 创建 R*Tree 表?
- position - 登陆页面 - 无定位的排序页面
- delphi-11-alexandria - [Delphi 11]在Windows High DPI下,如何通过TVirtualImage播放GIF?
- visual-studio-code - 我应该如何让我的代码片段不区分大小写字母
- flutter - Flutter 2:带有TextPainter的渐变文本在列中中断
- mysql - 节点红色和主机数据库连接
- mongodb - 如何在 MongoDB 中获取限制数据?
- c++ - 了解指向类型类成员的指针 - 无多态性