qt main 函数
qt main函数的一些注意点
#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);
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);//qt5.6以后支持
//QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);//qt6支持
QApplication a(argc, argv);
// 设置应用程序图标(窗口图标)
//QIcon appIcon = QIcon(":/img/logo.ico");
//QIcon appIcon = a.style()->standardIcon(QStyle::SP_ComputerIcon);
//a.setWindowIcon(appIcon);//建议在main.c中统一设置icon,避免不同平台的差异
//QPixmap pixmap = appIcon.pixmap(150, 150);// 获取最大可用尺寸// 保存为ICO文件
//pixmap.save("logo.ico", "ICO");
const float DEFAULT_DPI = 96.0;
QDesktopWidget *mydesk = QApplication::desktop();
int dpiX = mydesk->logicalDpiX();
float fontSize = dpiX / DEFAULT_DPI;
QFont font = a.font();
//font.setPointSize(font.pointSize()*fontSize);
font.setPointSize(9);
a.setFont(font);
MainWindow r;
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();
}

浙公网安备 33010602011771号