首页| 论坛| 消息

回复: 如何动态删除QGridLayout里的控件
#16 [alexltr 01-13 22:21]
Hi cycloneii. 按照你的方法可以解决这个内存问题了!非常感谢。
但我有一个疑问,为什么是找sizeBox的children呢?
我把sizeBox改成sizeLayout,用同样的方法,却不能成功删除,而且还是有内存问题。
#17 [cycloneii 01-13 22:46]
引用第16楼alexltr于2011-01-13 22:21发表的:
Hi cycloneii. 按照你的方法可以解决这个内存问题了!非常感谢。
但我有一个疑问,为什么是找sizeBox的children呢?
我把sizeBox改成sizeLayout,用同样的方法,却不能成功删除,而且还是有内存问题。
layout是需要一个QWidget作为容器的,所有加入layout中的控件都是对应容器的子控件,因此从容器中查找子控件,然后删除是最合适的方法。你原来删除的是QLayoutItem,不是QPushButton,所以有内存泄露,也就是说你只是把QPushButton从layout里面移除了,所以它不显示,但是并不代表这个QPushButton被完全删除了
#18 Re:如何动态删除QGridLayout里的控件(已解决) [alexltr 01-13 23:12]
非常感谢cycloneii详尽的解释,我现在明白了。
#19 [myseemylife 01-04 15:41]
用遍历子控件的方法可以删除。。。但是界面上的还在。。。除非把控件delete
。。。。下次显示的时候又需要再new一遍。。真是麻烦
#20 [byron1655 02-08 13:27]
好帖,收藏了

<< 2 3 4 5 >> (4/5)

回复 发表
主题 版块