窗口最大化后跑偏几个像素

windows平台

首先通过代码实现窗口最大化

int title_bar_height = style()->pixelMetric(QStyle::PM_TitleBarHeight); // 获取标题栏高度
QRect primary_rect = QApplication::desktop()->availableGeometry();
this->setGeometry(0, title_bar_height, primary_rect.width(), primary_rect.height() - title_bar_height);

PM_TitleBarHeight获取的标题栏高度=27,设置后的QWidget geometry=(0, 27, 2560, 1525),我这里屏幕为2560*1600

点击标题栏的最大化按钮后,QWidget geometry=(0, 23, 2560, 1529),一开始还以为是标题栏变窄了,但仔细看QWidget分别向上和向下扩充了4个像素,是QWidget本身的大小改变了,标题栏被推向屏幕外了。但只有Y方向上会有这个行为,X方向并没有改变

 

posted @ 2024-03-27 14:47  kelvin_yan  阅读(13)  评论(0编辑  收藏  举报