从现有表格中打开一个新表格 - 这是否可以接受

时间:2013-05-02 22:13:27

标签: c++ qt

我目前正在使用以下方法打开一个新表单

void MyForm::MySlot()
{
    //This method loads up te form for historical feeds
    NewForm *w = new NewForm(); 
    w->show();
}

打开新表单是否可以接受?另外,当表单关闭时,我怎么知道何时删除w指针?

我在想的是设置一个信号,该信号会在表单关闭时触发。该信号的插槽将删除w。这是一种可接受的方式还是有更快的方法来实现这一目标?

2 个答案:

答案 0 :(得分:0)

设置Qt::WA_DeleteOnClose attribute

w->setAttribute(Qt::WA_DeleteOnClose);

这样,Qt的内存管理系统就会为你处理它。

答案 1 :(得分:0)

如果要关闭表单,但稍后再使用,请将新表单的父表单设置为主表单。这样,当删除主表单时,Qt也会处理删除新表单。