【发布时间】:2014-03-07 01:30:03
【问题描述】:
我想在我的 Qt 5.2.1 QML/C++ 应用程序中控制所有 Text 元素的 pointSize 到像素的缩放。
我有一个 QML 单例组件,它具有宽度、高度和点间距等目标显示属性,可以计算常见尺寸的适当像素大小,例如触摸屏按钮的推荐大小(以像素为单位)。这适用于我编写的控件,但 Text 元素有一个非常好的 font.pointSize,如果我可以设置用于文本缩放的逻辑 DPI,我想使用它。
在我的 96 DPI 开发屏幕上进行调试时,我使用它来模拟具有非常不同屏幕 DPI 的目标设备。例如,我想运行针对 1280x720 133DPI 显示器并具有如下元素的应用程序:
Text { font.pointSize: 72; text: “Xy” }
显示 133 像素高,而不是 96 像素高的文本,因为操作系统告诉 Qt 我连接了 96 DPI 显示器。我想覆盖我的应用程序的逻辑 DPI 缩放。
我可以通过 QGuiApplication QScreen 列表看到 logicalDotsPerInchX。有大量关于如何获取逻辑 DPI 的文档。但我找不到任何有关如何更改它的信息。
如何更改我的 Qt 应用程序的逻辑 DPI?
【问题讨论】: