关闭主对话框后关闭对话框

时间:2017-06-11 08:38:59

标签: c++ qt5

我有Main Dialog,它有一些按钮。每个按钮将生成一个独立的对话框,如下所示:

void MainDialog::onAButtonClicked()
{
     Dialog *dial = new Dialog(pass some parameters);
     dial->show();
}

此方法的问题是当用户关闭主对话框时,未关闭正在运行的独立对话框。我不希望这个问题发生。有些解决方案建议覆盖closeEventreject,我已尝试过但这些要求我创建*dial作为主对话的成员数据。这有效,但我不想要这种方法,因为我需要在用户完全关闭窗口后删除此对话框。我尝试使用new分配一些内存并删除closereject个事件上的对象,但应用程序挂起。解决这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

connect(this,SIGNAL(finished(int)),dial,SLOT(close()));

connect(this,SIGNAL(rejected()),dial,SLOT(close()));