Qt QML 字体点大小不匹配多个设备
Qt QML font point size not matching multiple devices
我有一个字体为 14 磅的 QtQuick 应用程序。
在 Windows 上它呈现得很好(大约 0.5 厘米)但在我的 Android phone 上尺寸要小得多。
为什么?我知道点大小在每个屏幕上都以相同的大小呈现。
我还设置了 AA_EnableHighDpiScaling 变量,但没有任何改变。
谢谢
不同平台报告逻辑 DPI 的方式存在显着差异(用于确定具有指定点大小的字体的实际渲染大小)。因此,“点”可能与任何设备的任何特定显示器上的 1/72 英寸的实际情况相符,也可能不相符。
这表示平台实施者(Microsoft、Apple、Google 等)选择实施文本呈现样式而不是实施 1 磅 = 1/72 英寸。 Qt 被迫在平台的风格选择和适合跨平台的编程模型之间做出妥协。
换句话说,测量以磅值字体呈现的文本的实际大小很少会在不同的设备和显示器之间匹配,更不用说不同的平台了。
此处有更多详细信息:
https://bugreports.qt.io/browse/QTBUG-32096
正如此处所建议的那样,您最好为字体使用像素大小,这样它相对于始终以像素大小绘制的其他 UI 元素看起来是正确的。
我有一个字体为 14 磅的 QtQuick 应用程序。 在 Windows 上它呈现得很好(大约 0.5 厘米)但在我的 Android phone 上尺寸要小得多。 为什么?我知道点大小在每个屏幕上都以相同的大小呈现。 我还设置了 AA_EnableHighDpiScaling 变量,但没有任何改变。
谢谢
不同平台报告逻辑 DPI 的方式存在显着差异(用于确定具有指定点大小的字体的实际渲染大小)。因此,“点”可能与任何设备的任何特定显示器上的 1/72 英寸的实际情况相符,也可能不相符。
这表示平台实施者(Microsoft、Apple、Google 等)选择实施文本呈现样式而不是实施 1 磅 = 1/72 英寸。 Qt 被迫在平台的风格选择和适合跨平台的编程模型之间做出妥协。
换句话说,测量以磅值字体呈现的文本的实际大小很少会在不同的设备和显示器之间匹配,更不用说不同的平台了。
此处有更多详细信息:
https://bugreports.qt.io/browse/QTBUG-32096
正如此处所建议的那样,您最好为字体使用像素大小,这样它相对于始终以像素大小绘制的其他 UI 元素看起来是正确的。