Qt基础-使窗口居中显示

博客指出在使用Qt的show()函数时,窗口可能无法显示在桌面中间,或因Windows状态栏影响而偏下,此时需减去状态栏高度来解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候使用show()函数并不会让窗口显示在桌面中间,或者由于windows状态栏的影响,窗口偏下,需要减去状态栏的高度,可使用以下方法:

//用于正确获取控件的大小,一定要在show()之后,frameGeometry()才能正确获取
setAttribute(Qt::WA_DontShowOnScreen);
dlg.show();
dlg.hide();
setAttribute(Qt::WA_DontShowOnScreen, false);

//获取windows工作区域(不包括状态栏)
QRect rtWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rtWorkArea, 0);
dlg.move((rtWorkArea.width() - dlg.frameGeometry().width()) / 2, (rtWorkArea.height() - dlg.frameGeometry().height()) / 2);
dlg.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值