|
在qt的qtwidget中有一个虚函数virtual void closeEvent(QCloseEvent *event)它的作用就是响应关闭事件,当我们需要处理自己的关闭操作时,就可以重载该函数。
在头文件加入:
#include <QCloseEvent>
类的定义中加入:
protected:
void closeEvent(QCloseEvent *event);
在源文件实现该函数:
void MainWindow::closeEvent(QCloseEvent *event)
{
int ret = QMessageBox::question(this,"记事本",
"是否要保存下当前内容?",
QMessageBox::Yes | QMessageBox::No
| QMessageBox::Cancel,
QMessageBox::Yes);
switch (ret)
{
case QMessageBox::Yes:
slotSaveFile();
break;
case QMessageBox::Cancel:
event->ignore();//忽略退出事件,程序继续运行
break;
default:
break;
}
//event->accept(); //默认是接受退出事件,程序退出,所以这句可以忽略
}
|