• 11127阅读
  • 3回复

为什么QLayout.removeWidget()好象不起作用? [复制链接]

上一主题 下一主题
离线icevi
 

只看楼主 倒序阅读 楼主  发表于: 2006-03-17
— 本帖被 xtfllbl 执行锁定操作(2010-08-02) —
我的程序中有一个功能要求在一个layout中动态添加和删除控件。
比如我选择“显示图形”,就将原来layout中的QWidget删除(不管是什么,也是是按钮也许是标签),然后添加一个QLabel。
如果我选择“显示按钮”,就将原来layout中的QLabel删除,添加一个QPushButton。

我在程序中用:
layout1->removeWidget(myLabel);
layout1->addWidget(myButton);

可是myLabel却不能真的被删除,还是会显示出来。

将myLabel设为隐藏是可以的,但是会有其它方面的问题,所以我不希望用隐藏的方式,希望完全将它删除掉。

请问各位大侠,要怎么做才能真正将原来的控件删除?
[ 此贴被XChinux在2006-03-17 16:49重新编辑 ]
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线icevi

只看该作者 1楼 发表于: 2006-03-21
我自己解决了,removeWidget只是将它从layout中移除,widget还是在它的parent中的,还要用delete删除才行.
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线gaowf_1987
只看该作者 2楼 发表于: 2010-08-02
怎么delete掉啊,我最近也遇到这个头痛的问题!
离线xtfllbl

只看该作者 3楼 发表于: 2010-08-02
回 2楼(gaowf_1987) 的帖子
delete widget;
上海欢迎您