也谈qt中QMdiArea和QSubWindow

昨天才静下心来仔细看了看QMdiArea

作为MainWindow的中央部件,QMdiArea的作用还是相当大的

首先是向QMdiArea中添加QSubWindow和从QMdiArea中删除QsubWindow

QSubWindow * addSubWindow(QWidget * widget);

widget可以是QSubWindow或者直接是QWidget及子类,若是后者的话QMdiArea会自动创建一个QSubWindow,然后将widget置为QSubWindow的setWidget();

 

 

 首先removeSubWindow,不会删除widget,再有就是点击subWindow的close 按钮,mdi不会调用removeSubWindow,只是隐藏widget,要重新显示subWindow,只用subWindow->showNormal(),form->show();

想隐藏也可以直接调用subWindow的hide()函数

 

正统的关闭和显示是addSubWindow和removeSubWindow的成对调用。

 

可以设置设置subWindow和其widget的WA_DeleteOnClose属性,关闭时会删除subWindow和其widget,再显示时复制创建form和subWindow,这种情况在有些情况下还是有必要的,至少节约内存

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值