• 26561阅读
  • 7回复

关于layout里删除Widget的问题 [复制链接]

上一主题 下一主题
离线xtowx
 
只看楼主 倒序阅读 楼主  发表于: 2009-02-17
我在QGridLayout里面加了很多的QPushButton ,其它按键触发了removeWidget后,PushButton还是存在,这是什么原因?
离线wd007

只看该作者 1楼 发表于: 2009-02-17
你的意思是不是想通过用户的动作可以来控制界面元素。
这个没有试过,帮问
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线xtowx
只看该作者 2楼 发表于: 2009-02-18
是啊,看了以前的贴子,试过后没有反应,很是郁闷。
离线wd007

只看该作者 3楼 发表于: 2009-02-18
查看帮助,这样的:

void QLayout::removeWidget ( QWidget * widget )
Removes the widget widget from the layout. After this call, it is the caller's responsibility to give the widget a reasonable geometry or to put the widget back into a layout.
Note: The ownership of widget remains the same as when it was added.

看意思的话,好像这个方法不行吧,你觉得呢
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线xtowx
只看该作者 4楼 发表于: 2009-02-22
我就是按那个方法试的,不行啊。奇怪了,也不清楚哪里有问题了。
只看该作者 5楼 发表于: 2009-02-23
引用楼主xtowx于2009-02-17 11:43发表的 关于layout里删除Widget的问题 :
我在QGridLayout里面加了很多的QPushButton ,其它按键触发了removeWidget后,PushButton还是存在,这是什么原因?

想隐藏用hide,想删除用delete,想重新指定位置,必须在remove后重新给个位置或者加入别的layout
离线xtowx
只看该作者 6楼 发表于: 2009-02-24
我用delete后,程序老是报错,后来我在网上查到用Widget.setParent(None),然后再layout.removeWidget(Widget),就可以了。呵呵
离线gpwang84329
只看该作者 7楼 发表于: 2009-11-02
应该是先removeWidget然后hide,重新需要addWidget的时候再show出来
快速回复
限100 字节
 
上一个 下一个