• 5597阅读
  • 2回复

[提问]QMesaageBox运行后出现主界面丢失问题,以及修改按钮名方法 [复制链接]

上一主题 下一主题
离线spring521
 

只看楼主 倒序阅读 楼主  发表于: 2012-11-27



主函数如下:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();


    return a.exec();
}


在主界面上有QlistWidet, 每个 QlistWidetItem点击后显示不同的子界面,每个子界面上有不同的功能按钮,其中某个操作需要弹出对话框,为了能修改对框上的按钮名(如这里,All,   Single),选择funtion_AAA函数内实现方式,但在点击任意按钮后,对话框消失,主界面也消失。(怀疑是这里 msgBox.exec();转型后导致主界面消失
我并不希望主界面消失,因为还要执行其他操作。
请问怎们回事?如何避免这种问题
或者有其他方法可以自定义对话框上的按钮名,且点击后对话框消失但主界面不消失,还请赐教?



funtion_AAA()
{
    QMessageBox msgBox;
    msgBox.setText("The document has been modified.");
    msgBox.setInformativeText("Do you want to save your changes?");
    QPushButton *SingleButton = msgBox.addButton(tr("Single"), QMessageBox::ActionRole);
    QPushButton *AllButton = msgBox.addButton(tr("All"), QMessageBox::ActionRole);
    QPushButton *CancelButton = msgBox.addButton(QMessageBox::Cancel);
    msgBox.exec();


     if (msgBox.clickedButton() == SingleButton)
    {
         ........
     }
      else if (msgBox.clickedButton() == AllButton)
     {
        ........
     }
    else if (msgBox.clickedButton() == CancelButton)
    {
      ........
     }
    else
     {
     ................
     }
    。。。。
}





离线spring521

只看该作者 1楼 发表于: 2012-11-27
回 楼主(spring521) 的帖子
还请大侠们指点,折腾了一天,没搞定!
离线XChinux

只看该作者 2楼 发表于: 2012-11-28
通过你的代码看不出问题所在啊
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个