High-DPI Support in QT
一、qt 从5.4版本开始支持高DPI,开启高DPI支持的方法是通过配置环境变量
1,添加环境变量 QT_DEVICE_PIXEL_RATIO = auto
2, 需要设置缩放比例 QT_SCALE_FACTOR,该值决定界面缩放的比例,只设置第一步不会看到界面尺寸的改变。
二、qt从5.6版本起,抛弃使用5.4版本中通过配置环境变量开启High-DPI的方法,改为通过调用API
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
注意:该代码的调用必须在QApplication对象生成之前才能生效。示例如下:
int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
另外,这种方式的缩放比例支持整倍缩放,例如 125%会被当成1倍,150%、175%会被2倍缩放。
三、相关链接
http://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/
http://doc.qt.io/qt-5/highdpi.html