我有主对话框,其中有一些按钮。每个按钮将生成一个独立的对话框,如下所示:
void MainDialog::onAButtonClicked()
{
Dialog *dial = new Dialog(pass some parameters);
dial->show();
}
这种方法的问题是当用户关闭主对话框时,运行的独立对话框没有关闭。我不希望出现这个问题。一些解决方案建议覆盖closeEvent
和reject
,我已经尝试过,但这些要求我将其创建*dial
为主对话框的成员数据。这有效,但我不想要这种方法,因为一旦用户完全关闭窗口,我就需要删除此对话框。我试图分配一些内存使用new
和删除对象close
或reject
事件,但应用程序挂起。解决此问题的正确方法是什么?
connect(this,SIGNAL(finished(int)),dial,SLOT(close()));
或者
connect(this,SIGNAL(rejected()),dial,SLOT(close()));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句