继承QDialog类写了一个
对话框,现在要对对话框右上角的“X”重写;
我对虚函数closeEvent()重写,如下
- void ArgConf::closeEvent(QCloseEvent *event)
- {
- if(maybeSave())
- {
-
- }
- else
- {
- switch(QMessageBox::question(this,"Question",trUtf8("是否未保存离开?"),
- QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Cancel))
- {
- case QMessageBox::Ok:
- event->accept();
- case QMessageBox::Cancel:
- event->ignore();
- break;
- default:
- return;
- }
- }
- }
bool maybeSave()
{
。。。。
}
以上的代码结果如下
1.当我保存后点击"X",能够关闭
窗口,????在判断语句中
没有处理啊。。。。
2.当我未保存点击"X",能够弹出提示窗口,点击cancel,取消正常,点击OK,不能关闭对话框,
请指教::