在程序设计时,经常需要在关闭窗口时弹出对话框,让用户选择是否退出。实现方式很简单,重现主窗口的closeEvent函数,在窗口关闭时,会调用该函数。在函数中可以弹出对话框提示。
void CLG::closeEvent(QCloseEvent *ev)
{
if(CLGMessageBox::warnning("退出","确认退出吗?",true,true)==CLGDialog::Accepted)
{
ev->accept();
}
else
{
ev->ignore();
}
}
用户点击确定后,接受关闭事件,程序退出。
否则,忽略关闭事件,窗口不退出。
这里的CLGMessageBox是重写的提示对话框,也可以用系统自带的。