我正在开发一台4k显示器,它很痛苦......
最后我设法 Build 了QtDesigner,然后发现了这个问题:
当您使用 QT_AUTO_SCREEN_SCALE_FACTOR=1
并使用radiobutton和其他基本小部件编译应用程序时,它看起来在4k屏幕上缩放 . 否则控件的尺寸是正确的,正如预期的那样,它只是不锐利,而是像素化 .
我使用Qt 5.6 RC msvc2015 64bit在4k屏幕上运行Windows 10 Home 64bit,使用200%DPI变焦,并尝试使用相同的结果
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
如果我使用
QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
控件很清晰,文字大小正常但是所有尺寸都要小得多 .
如何在高DPI屏幕上进行控制?
2 回答
正如Qt文档所说:
您可以尝试做Qt Creator正在做的事情:
最重要的是最后一行
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
.使用QT_AUTO_SCREEN_SCALE_FACTOR时,字体的磅值不会改变,它们只是从原始像素放大,因此它们永远不会平滑,只会更加颠簸 .
参考:http://doc.qt.io/qt-5.6/highdpi.html#high-dpi-support-in-qt "This will not change the size of point sized fonts"
您需要使用QT_SCALE_FACTOR重新缩放您的应用,而不仅仅是重新缩放其像素 .