最近用QT6写小软件过程中,突然发现UI窗口不能居中,怎么也找不出原因,不知动了哪里。度娘搜索QT窗口居中,清一色是QT6以前版本的老办法,怎么试都不行。无赖放置几天,又来搜索,终于找到相关内容,类似文章很少,记录下来,然望可以帮到碰到类似问题的友友。
原来QT更新后,把以前的一些旧模块抛弃,用新的代替,QApplication::desktop()废弃了, 换成了 QApplication::primaryScreen()。于是赶紧修改代码:
main.cpp
#include “photo.h”
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Photo w;
w.show();
//获取窗口尺寸并居中
QScreen *scr = a.primaryScreen();
int scr_w = scr->size().width();
int scr_h = scr->size().height();
w.move((scr_w - w.width()) / 2, (scr_h - w.height()) / 2);
return a.exec();
}
如此简单的问题居然浪费了不少时间,主要原因是对QT不熟悉,没办法,半路出家,只能在摸索中前进。