目录
一、事件概述
事件需经过以下:事件派发---->事件过滤器---->事件分发-->事件处理,四个阶段。
事件:系统或者Qt本身在不同的时刻发出的。
事件循环开始: exec()函数。
二、常见的事件函数
示例事件函数:
三、重写窗口关闭与重设窗口大小事件
1.重写窗口关闭
1.1声明有关函数
protected:
void closeEvent(QCloseEvent *event);//重新声明关闭函数
1.2跳转写有关函数事件
void Widget::closeEvent(QCloseEvent *event)
{
int BL= QMessageBox::question(this,"提示窗口","是否确认关闭该窗口");//定义一个弹窗,并使其为比整型变量,QMessage为int类型
if(BL==QMessageBox::Yes){
event->accept();
}
else {
event->ignore();
}//条件判断,变量选择yes和no的执行事件
}
2.重设窗口大小
2.1声明有关函数
protected:
void resizeEvent(QResizeEvent *event);
2.2跳转写有关函数事件
void Widget::resizeEvent(QResizeEvent *event)
{
qDebug()<<"oldsize= "<<event->oldSize();//显示打印原本的窗口尺寸
qDebug()<<"newsize= "<<event->size();//显示打印现有的窗口尺寸
}
最终结果视频演示:
事件