首页 > 其他 > 详细

Qt delete和deletelater的区别

时间:2021-06-11 14:28:34      阅读:31      评论:0      收藏:0      [点我收藏+]

众所周知delete是C++和QT共有的一个操作符即时使用实时就析构删除了,而QT里的deletelater的原理是:QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象。 这样做的好处是可以在这些延迟删除的时间内完成一些操作,坏处就是内存释放会不及时。

应用例子:父窗体的子窗体在focusoutevent时deletelater();然后在主窗体绑定信号子窗体的destroy()信号和父窗体的槽函数

然后在槽函数中象父窗体调用父窗体的接口函数向父窗体发送子窗体的文本text();

Qt delete和deletelater的区别

原文:https://www.cnblogs.com/ybqjymy/p/14874729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!