我有一个带有一些按钮的主对话框。每个按钮都会生成一个独立的对话框如下:
void MainDialog::onAButtonClicked()
{
Dialog *dial = new Dialog(pass some parameters);
dial->show();
}
这种方法的问题是当用户关闭主对话框时,正在运行的独立对话框并没有关闭。我不希望出现这个问题。一些解决方案建议覆盖 closeEvent
和 reject
,我已经尝试过了,但是这些需要我创建 *dial
作为 Main Dialog 的成员数据.这可行,但我不想要这种方法,因为我需要在用户完全关闭窗口后删除此对话框。我尝试使用 new
分配一些内存并在 close
或 reject
事件上删除对象,但应用程序挂起。解决这个问题的正确方法是什么?
最佳答案
connect(this,SIGNAL(finished(int)),dial,SLOT(close()));
或
connect(this,SIGNAL(rejected()),dial,SLOT(close()));
关于c++ - 主对话框关闭后关闭对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44481901/