qt win有多个屏幕,程序窗口在一个屏幕中居中的问题,设置整体字符固定,解决在不同分辨率屏幕上文字大小一致的问题

 

 

复制代码
#include "mainwindow.h"
#include <QApplication>
#include <QDesktopWidget>
#include <QScreen>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFont font(QStringLiteral("新宋体"));
    font.setPixelSize(12);                  //字体大小,等同于PointSize的9点大小
    qApp->setFont(font);


    MainWindow r;
    QDesktopWidget *desktop = QApplication::desktop();

    int currentScreenIndex = a.desktop()->screenNumber(&r);
    QList<QScreen *> screen_list = QGuiApplication::screens();
    if(currentScreenIndex < screen_list.count()) {
        QScreen *tem = screen_list[currentScreenIndex];
        QRect screen_rect  = tem->geometry();

        //获取到软件窗口所在屏幕的 宽 高 尺寸
        int screen_width = screen_rect.width();
        int screen_height = screen_rect.height();//减去 任务栏高度

        //移动窗口到 居中
        r.move((screen_width - r.width()) / 2,  (screen_height - r.height()) * 0.2);
        //r.move((desktop->width() - r.width())/ 2, (desktop->height() - r.height()) *0.1);
    }

    r.show();

    return a.exec();
}
复制代码

 

 

 

//

posted @   小城熊儿  阅读(477)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示