QT程序退出后托盘图标不消失问题

我在主程序的main.cpp里用new创建了一个QsystemTrayIcon类的对象,以便程序在桌面右下角显示托盘图标。但是,当我的程序退出的时候,托盘图标却没有消失。我觉得,这是因为这个对象是在堆上分配的,程序退出的时候­没有使用delete对内存进行释放,也就是说没有调用它的析构函数,所以程序虽然结束了,但是托盘里仍然会有那个图标。

后来我用在栈上创建对象代替了在堆上创建,这样在程序退出时,对象自动删除。这时,我的程序退出的时候,托盘图标也就马上消失了。

所以,我觉得能用栈的地方尽量用栈,除非不能用栈的地方再用堆,以防止内存泄露,而且栈的效率要比堆高一些。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值