获取窗口状态
使用 mainwindow 自带的 changeEvent
即可。
#include <QWindowStateChangeEvent>
void MainWindow::changeEvent(QEvent *event)
{
if(QEvent::WindowStateChange == event->type())
{
qDebug()<<"this->windowState()="<<this->windowState();
QWindowStateChangeEvent * stateEvent = dynamic_cast<QWindowStateChangeEvent*>(event);
qDebug()<<"old state ="<< stateEvent->oldState();
}
}
获取窗口大小
在 resizeEvent
里面的 width()
, rect().wdith()
, size().width()
, geometry().width()
这样的函数都可以获得正确的尺寸。
参考
QT获取Windows最大、最小化的状态
https://blog.csdn.net/weixin_45483780/article/details/125727712
QT问题:如何在QMainWindow大小改变事件,我需要在大小改变时调用一个函数
https://bbs.csdn.net/topics/320114065
Qt 使用全局缩放进行全分辨率适配(QT_SCALE_FACTOR)
https://www.cnblogs.com/ybqjymy/p/14821043.html
QT5 获取窗口、系统屏幕大小尺寸信息,Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标
https://blog.csdn.net/u013541325/article/details/106966650