qt win有多個螢幕,程式視窗在一個螢幕中居中的問題,設定整體字元固定,解決在不同解析度螢幕上文字大小一致的問題
阿新 • • 發佈:2021-07-29
#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(); }
//