解决Qt程序在Mac和Windows下窗口大小不一致

开发环境是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下面的运行效果,一切正常:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。