开发环境是Mac,设置对话框为固定大小: setFixedSize(473, 152)
Mac运行很正常:
可是在虚拟机编译Windows版本窗口却变小了:
检查一下虚拟机关于分辨率的配置如下:
初步确认是高分屏导致窗口被压缩的,继续查资料发现,Qt从5.6版本开始可以根据显示器的像素密度进行自动缩放,使用应用程序的AA_EnableHighDpiScaling属性即可,遂修改main.cpp如下:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
#if(QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
//支持高分屏自动缩放
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
QApplication app(argc, argv);
MainWindow w;
w.show();
return app.exec();
}
再次查看Windows下面的运行效果,一切正常: