【发布时间】:2017-10-15 06:57:03
【问题描述】:
我正在使用 QML 编写应用程序。当我通过非整数因子缩放 GUI 时遇到问题。 According to the docs、Qt::AA_EnableHighDpiScaling 应该启用与设备无关的像素,因此会自动处理大部分缩放:
应用属性
Qt::AA_EnableHighDpiScaling,在 Qt 5.6,启用基于像素密度的自动缩放 监视器。
在blog post about 5.6 中,他们承认可能存在问题:
问:是否支持非整数比例因子?
答:Qt 在 API,并允许通过设置非整数比例因子
QT_SCALE_FACTOR。但是,Qt 不保证图形和 在这种情况下,样式将不会出现故障。样式可能首先中断: 融合风格通常是最具可扩展性的。 Qt 平台插件回合 报告的比例因子到最接近的整数。
并在评论中:
问:这是否意味着它仍然是有效的整数?具有 150% DPI 比例的 Windows 会发生什么情况?
答:是的,除非您使用
QT_SCALE_FACTOR手动设置/更正它。 150% 应该是 2 倍。
所以对我来说,当缩放到 150% 时,这会导致一个可笑的大 GUI。但是,文本正确缩放会导致奇怪的伪影,例如带有小文本的大按钮。
我是误解了它的工作原理还是真的不可能?
【问题讨论】:
-
我也遇到了一些问题。所以现在我通过传递命令行参数并利用
Qt.application.arguments手动扩展应用程序。 -
似乎有一些朝着更完整解决方案的方向发展:bugreports.qt.io/browse/QTBUG-53022
标签: windows qt user-interface qml