在我的应用中,我使用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。查看图片
当我将this-> close()添加到构造函数中时,我希望子对象为null。在Qt :: WA_DeleteOnClose的情况下是特殊的。但是孩子永远是一个对象。如果我说关闭它,则看起来MdiChildDiskInfo也总是创建的。
有人知道停止构建MdiChildDiskInfo的方法,因此初始子对象为null而不是对象吗?不会添加到mdiArea吗?