查看完整版本: [-- 关于layout里删除Widget的问题 --]

QTCN开发网 -> Qt基础编程 -> 关于layout里删除Widget的问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

xtowx 2009-02-17 11:43

关于layout里删除Widget的问题

我在QGridLayout里面加了很多的QPushButton ,其它按键触发了removeWidget后,PushButton还是存在,这是什么原因?

wd007 2009-02-17 22:43
你的意思是不是想通过用户的动作可以来控制界面元素。
这个没有试过,帮问

xtowx 2009-02-18 11:14
是啊,看了以前的贴子,试过后没有反应,很是郁闷。

wd007 2009-02-18 23:55
查看帮助,这样的:

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.

看意思的话,好像这个方法不行吧,你觉得呢

xtowx 2009-02-22 22:58
我就是按那个方法试的,不行啊。奇怪了,也不清楚哪里有问题了。

都市无名者 2009-02-23 01:13
引用楼主xtowx于2009-02-17 11:43发表的 关于layout里删除Widget的问题 :
我在QGridLayout里面加了很多的QPushButton ,其它按键触发了removeWidget后,PushButton还是存在,这是什么原因?

想隐藏用hide,想删除用delete,想重新指定位置,必须在remove后重新给个位置或者加入别的layout

xtowx 2009-02-24 13:43
我用delete后,程序老是报错,后来我在网上查到用Widget.setParent(None),然后再layout.removeWidget(Widget),就可以了。呵呵

gpwang84329 2009-11-02 20:05
应该是先removeWidget然后hide,重新需要addWidget的时候再show出来


查看完整版本: [-- 关于layout里删除Widget的问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled