QT中响应窗口的最大化、最小化、正常显示、激活状态使用事件处理函数QWidget::changeEvent来实现。
窗口状态有以下几种:
enum WindowState {
WindowNoState = 0x00000000,
WindowMinimized = 0x00000001,//最小化
WindowMaximized = 0x00000002,//最大化
WindowFullScreen = 0x00000004,//全屏幕
WindowActive = 0x00000008 //激活状态
};
实例:
头文件:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QPaintEvent>
#include <QMainWindow>
#include <QWindowStateChangeEvent>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
protected:
void changeEvent(QEvent*);
};
#endif // MAINWINDOW_H
实现:
#include "mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
}
MainWi