QT---消息机制和事件(1)

本文详细介绍了如何在Qt中重写窗口关闭和窗口大小事件,包括事件的派发、过滤和处理过程,以及使用QCloseEvent和QResizeEvent的示例代码和最终结果演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、事件概述

二、常见的事件函数

 三、重写窗口关闭与重设窗口大小事件

1.重写窗口关闭

1.1声明有关函数

 1.2跳转写有关函数事件

2.重设窗口大小

2.1声明有关函数

2.2跳转写有关函数事件


一、事件概述

事件需经过以下:事件派发---->事件过滤器---->事件分发-->事件处理,四个阶段。

事件:系统或者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();//显示打印现有的窗口尺寸
}

最终结果视频演示:

事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值