Qt——事件机制
Posted cxc1357
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt——事件机制相关的知识,希望对你有一定的参考价值。
在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——事件机制的主要内容,如果未能解决你的问题,请参考以下文章