qt窗口关闭退出程序_Qt中窗口退出事件

窗口右上角的X按键会导致其在不给出任何提示的情况下直接退出,

当点击右上角的x按键时,会触发Qt中的一个事件处理函数:void QWidget::closeEvent ( QCloseEvent * e ),默认情况该函数无任何提示性消息,如果需提示则需要重写该函数

void Dialog::closeEvent ( QCloseEvent * e )

{

if( QMessageBox::question(this,

tr("Quit"),

tr("Are you sure to quit this application?"),

QMessageBox::Yes, QMessageBox::No )

== QMessageBox::Yes){

e->accept();//不会将事件传递给组件的父组件

qDebug()<

}

else

e->ignore();

}

说明:

事件的ignore函数表示忽略事件,将其传到父组件进行处理

事件的accept函数表示接受事件,组件自己进行处理,不会将事件传递给父组件

但是在这个closeEvent函数中,这两个函数尤其不一样的理解:对于窗口关闭QCloseEvent事件,

调用accept()意味着 Qt 会停止事件的传播,窗口关闭;

调用ignore()则意味着事件继续传播,即阻止窗口关闭。

此外如果需要直接退出某个应用程序ÿ

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页