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

2019-11-30  本文已影响0人  小和尚的藏经阁

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


上一篇 下一篇

猜你喜欢

热点阅读