• 4486阅读
  • 3回复

closeEvent求助! [复制链接]

上一主题 下一主题
离线gault
 

只看楼主 倒序阅读 楼主  发表于: 2006-05-15
我现在想做退出时弹出一个确认框,如果选择“是”则退出,选择“否”刚忽略,以防止用户误操作!
可是现在的问题是:我每次点击右上角的叉或者菜单里的退出时,选了是之后仍然不退出,必须点第二次才退出。请高手支招。

代码如下:
void Window::closeEvent(QCloseEvent *event)
{  
  if (isExit)
  event->accept();
  else{
  event->ignore();
  exitEtg();
  }
}

void Window::exitEtg()
{
  switch(QMessageBox::information(this, "Exit",
            "Do you really want to shutdown ETG?",
            "&Yes", "&No",
            0,
            1)) {  
  case 0:  
  isExit = 1;   //isExit为1则退出,为0则忽略。
  close();       //这个close()我试过了在这里加不加这句都是一样的效果,不解!
  break;  
 
  case 1:
  break;
  }
}
[ 此贴被XChinux在2006-05-15 13:37重新编辑 ]
离线sinl

只看该作者 1楼 发表于: 2006-05-16
void Window::closeEvent(QCloseEvent *event)
{  

switch(QMessageBox::information(this, "Exit",
        "Do you really want to shutdown ETG?",
        "&Yes", "&No",
        0,
        1)) {  
case 0:  
    isExit = 1;   //isExit为1则退出,为0则忽略。
  break;  
case 1:
    isExit = 0;
    break;
}

if (isExit)
{
    event->accept();
} else{
  event->ignore();
}
}

再试试
离线fieldfarmer
只看该作者 2楼 发表于: 2009-08-26
非常感谢一楼的回复. 正解.
同时鄙视一下楼主, 有前手没后手. 也不站出来回复一下结果. 强烈地看不起
离线rqzrqh

只看该作者 3楼 发表于: 2009-08-26
引用第2楼fieldfarmer于2009-08-26 11:29发表的  :
非常感谢一楼的回复. 正解.
同时鄙视一下楼主, 有前手没后手. 也不站出来回复一下结果. 强烈地看不起
快速回复
限100 字节
 
上一个 下一个