只有QCloseEvent事件的accept()和ignore()函数是特别的,
accept()函数的作用是,关闭掉窗口,
ignore()函数的是不关闭,
Close事件有点不同(与其他的事件,mouse,key等不同),调用QCloseEvent:ignore()取消了关闭操作,而accept()告诉Qt继续执行正常的关闭操作。
而且closeEvent()事件处理函数中,必须明确的调用,accept()与ignore(),否则默认是accpt()的,即默认情况下,会关闭掉窗口,
为了避免混乱,最好是在closeEvent()的新实现中明确地进行accept()与ignore()的调用:
void MainWindow::closeEvent(QCloseEvent *event){
if (userReallyWantsToQuit()) {
event->accept(); //关闭窗口,
} else {
event->ignore(); //不关闭窗口,
}
}