QT 高分屏不同缩放比例的自适应处理
Windows客户端软件,同样的EXE,一到高分辨率屏之后,软件的内部布局或者控件比例就变得不协调的了。相信有不少人遇到过类似情况,那么可以试试下面提供的示例代码,主要在于解决高分屏下不同缩放比例的处理。
#include "mainwindow.h"#include <QApplication>
#include <QVersionNumber>
#include <QDebug>int main(int argc, char *argv[])
{//对高分屏不同缩放比例的自适应处理
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))//[Method:1]//QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);//QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);//开启高缩放支持后图片可能发虚还要开启这个属性//[Method:2]图片抗锯齿效果比Method1要更好qputenv("QT_ENABLE_HIGHDPI_SCALING", "1");QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round);
#endifQApplication a(argc, argv);//MainWindow w;w.show();return a.exec();
}