• 5843阅读
  • 6回复

关于资源回收 [复制链接]

上一主题 下一主题
离线banyibanyi
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-05
最近做了个小软件其中有很多的控件,而且要经常显示和隐藏。

发现在资源管理器观察,当多次show 再 close 会4K 4K的增长内纯耗费。
不知道由于什么原因

我是上来就new一个控件  多次show 和close 这样不可以吗?有什么好的方法建议?
还有有个deletelater函数与destroy有什么区别?

希望大家解答 谢谢
离线steinlee

只看该作者 1楼 发表于: 2010-03-06
show() and hide()
Looking for remote C/C++ and Qt 兼职
离线banyibanyi

只看该作者 2楼 发表于: 2010-03-08
close 和 hide有什么区别 能不能解释一下呢
离线yangfanxing
只看该作者 3楼 发表于: 2010-03-08
引用第2楼banyibanyi于2010-03-08 09:42发表的  :
close 和 hide有什么区别 能不能解释一下呢

close()一般就destroy()了吧,不可再show()~
hide()还可以show()

deletLater()与destroy()好像只是是否立即执行的差别;比如是否进行某个操作以后才销毁窗口或者是立即销毁窗口;
PHPWind好恶心。。。不想看这种界面。。。
离线banyibanyi

只看该作者 4楼 发表于: 2010-03-08
引用第3楼yangfanxing于2010-03-08 16:43发表的  :
close()一般就destroy()了吧,不可再show()~
hide()还可以show()
deletLater()与destroy()好像只是是否立即执行的差别;比如是否进行某个操作以后才销毁窗口或者是立即销毁窗口;


可能和楼上说的还有点出入,开始我也是这么认为的,但是我的程序里都是在构造中NEW的对象,
例如一个QTextEdit  我close后依然可以show,而且关闭前写的字也还在 ,所以我觉得没有销毁。

destroy是保护的方法,deleteLater好像是私有的,用过到时用过 就是不知道他指的later是什么时候。
希望大家继续帮我解答一下 谢谢
离线steinlee

只看该作者 5楼 发表于: 2010-03-09
If the widget has the Qt::WA_DeleteOnClose flag, the widget is deleted if close()  is called.
Otherwise, hide and close are almost same .
Looking for remote C/C++ and Qt 兼职
离线banyibanyi

只看该作者 6楼 发表于: 2010-03-09
谢谢大家的回答
快速回复
限100 字节
 
上一个 下一个