码迷,mamicode.com
首页 > 其他好文 > 详细

Qt——事件机制(二)

时间:2019-12-06 21:30:53      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:lse   void   接收   组件   close   com   消息   ESS   his   

在samp4_1中加一个小功能,点击右上角关闭按钮时,弹出“确认是否关闭”的消息框。如果点“yes”则关闭,如果点“No”则不关闭

技术图片

在widget.h中添加代码:

#include <QCloseEvent>
protected:
    void closeEvent(QCloseEvent *ev);

在widget.cpp中添加代码:

1 #include <QMessageBox>
2 void Widget::closeEvent(QCloseEvent *ev){
3     int ret = QMessageBox::question(this,"question","Close the Windows?");
4     if(ret == QMessageBox::Yes){
5         ev->accept();
6     }else{
7         ev->ignore();
8     }
9 }
  • 重写了主窗口widget的事件处理函数(event handler)closeEvent()
  • accept()和ignore()是事件对象的事件处理函数,accept()接收事件并终止传递,ignore()忽略事件不做处理,事件会传递给父组件

Qt——事件机制(二)

标签:lse   void   接收   组件   close   com   消息   ESS   his   

原文地址:https://www.cnblogs.com/cxc1357/p/11997601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!