• 6550阅读
  • 1回复

[提问]求助,重写的closeEvent有点问题, [复制链接]

上一主题 下一主题
离线nana_aoe
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-14
— 本帖被 XChinux 执行加亮操作(2011-01-22) —
继承QDialog类写了一个对话框,现在要对对话框右上角的“X”重写;
我对虚函数closeEvent()重写,如下
  1. void ArgConf::closeEvent(QCloseEvent *event)
  2. {
  3.     if(maybeSave())
  4.     {
  5.         
  6.     }
  7.     else
  8.     {
  9.         switch(QMessageBox::question(this,"Question",trUtf8("是否未保存离开?"),
  10.         QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Cancel))
  11.         {
  12.             case QMessageBox::Ok:
  13.                 event->accept();
  14.             case QMessageBox::Cancel:
  15.                 event->ignore();
  16.                 break;
  17.             default:
  18.                 return;
  19.         }
  20.     }
  21. }


bool maybeSave()
{
。。。。
}

以上的代码结果如下
1.当我保存后点击"X",能够关闭窗口,????在判断语句中没有处理啊。。。。
2.当我未保存点击"X",能够弹出提示窗口,点击cancel,取消正常,点击OK,不能关闭对话框,

请指教::
离线jdwx

只看该作者 1楼 发表于: 2011-01-14
case OK里没有Break
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个