qt启动自动调整窗口宽高按照显示屏幕宽高比例显示并且居中显示

代码如下:

复制代码
#include <mainwindow.h>

#include <QApplication>
#include <QLocale>
#include <QTranslator>
#include <QDesktopWidget>
#include <QDebug>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "modbus_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    MainWindow w;
    // 获取屏幕宽高
    QRect deskRect = QApplication::desktop()->availableGeometry();
    int width = deskRect.right() * 0.7;
    int height = deskRect.bottom() * 0.6;
    qDebug() << "height:"<<height;
    // 挪动
//    w.move(deskRect.x(),deskRect.y());
    // 设置宽高并且居中显示
    w.setGeometry((deskRect.right() - width) / 2,(deskRect.bottom() - height) / 2,width,height);
    w.show();
    return a.exec();
}
复制代码

 

posted @   浅笑19  阅读(508)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示