创建时关闭或销毁MdiChild

时间:2019-11-15 17:14:43

标签: c++ qt

在我的应用中,我使用mdiArea作为中央小部件。在其中创建不同的Childs。

赞:

    MdiChildDiskInfo *child = new MdiChildDiskInfo(this,strDriveName);
    if(child){
        mdiArea->addSubWindow(child);
        child->showMaximized();
    }

MdiChildDiskInfo是一个

class MdiChildDiskInfo : public MdiChildBase
that is basing on
class MdiChildBase : public QMainWindow

MdiChildDiskInfo是使用

创建的
MdiChildDiskInfo::MdiChildDiskInfo(QWidget* parent, const QString &device)
    :strBurnDrive(device){
      setAttribute(Qt::WA_DeleteOnClose);

      this->close();

}

我试图在创建MdiChildDiskInfo时停止使用this-> close()创建MdiChildDiskInfo。关闭事件被触发。 但是始终会创建一个空的QSubWindow。查看图片

enter image description here

当我将this-> close()添加到构造函数中时,我希望子对象为null。在Qt :: WA_DeleteOnClose的情况下是特殊的。但是孩子永远是一个对象。如果我说关闭它,则看起来MdiChildDiskInfo也总是创建的。

有人知道停止构建MdiChildDiskInfo的方法,因此初始子对象为null而不是对象吗?不会添加到mdiArea吗?

0 个答案:

没有答案