ramlife

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

获取窗口状态

使用 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

posted on 2023-01-13 17:48  ramlife  阅读(1605)  评论(0编辑  收藏  举报