Nic*_*aus 7 c++ qt qtwidgets windows-10
我正在为Windows 10编写一个简单的Qt(Widgets)Gui应用程序.我正在使用Qt的5.6.0 beta版本.
我遇到的问题是它根本没有缩放到我的表面笔的屏幕上:
这有点难以分辨,因为SO会缩放图像,但请注意停靠窗口小部件标题栏控制相对于窗口标题栏控件的小小.
来自Qt的这个链接谈到了扩展,但它主要集中在qml/qtQuick和移动应用程序上,而且似乎暗示在桌面QtWidgets应用程序中,QPainter
将自动确定正确的缩放,这显然不是.
什么是确保桌面非qml Qt应用程序在高DPI监视器上正确扩展的最佳方法,特别是在Windows 10中?
Nic*_*aus 11
Qt最近在这里发布了一篇关于这个问题的博客文章.
从Qt 5.6开始启用高DPI支持.在OS X平台上,存在对High-DPI的本机支持.在X11/Windows/Android上,有两种方法可以根据博客文章启用高DPI检测:
QT_AUTO_SCREEN_SCALE_FACTOR=1
在系统环境变量中设置将修复扩展问题.
此外,QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
在应用程序源代码中进行设置还应允许自动进行高DPI缩放.
注意:要使用属性方法,必须在创建QApplication
对象之前设置属性,即:
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4609 次 |
最近记录: |