1. 程式人生 > 其它 >qt win有多個螢幕,程式視窗在一個螢幕中居中的問題,設定整體字元固定,解決在不同解析度螢幕上文字大小一致的問題

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(); }

//