#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle(QStringLiteral("Qt之监听窗口改变事件(最小化、最大化、还原)"));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *event)
{
if(QEvent::WindowStateChange == event->type())
{
QWindowStateChangeEvent * stateEvent = dynamic_cast<QWindowStateChangeEvent*>(event);
if(Q_NULLPTR != stateEvent)
{
Qt::WindowStates x = stateEvent->oldState();
ui->textEdit->append(QString("oldState %1").arg(x));
if(Qt::WindowMinimized == stateEvent->oldState())
{
ui->textEdit->append(QString("oldState %1").arg(x));
}
else if(Qt::WindowMaximized == stateEvent->oldState())
{
ui->textEdit->append(QString("oldState %1").arg(x));
}
}
}
}
void MainWindow::on_pushButton_clicked()
{
this->showMinimized();
}
void MainWindow::on_pushButton_2_clicked()
{
this->showMaximized();
}
void MainWindow::on_pushButton_3_clicked()
{
this->showNormal();
}