2026世界杯_2004年世界杯 - 1606811.com

首页 > 王者荣耀世界杯 > 【Qt5】Qt QWidget立刻出现并消失

【Qt5】Qt QWidget立刻出现并消失

【Qt5】Qt QWidget立刻出现并消失

qq_43478653

于 2022-06-11 10:32:03 发布

阅读量885

收藏

点赞数

CC 4.0 BY-SA版权

分类专栏:

C/C++

文章标签:

qt

开发语言

c++

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_43478653/article/details/125232033

C/C++

专栏收录该内容

17 篇文章

订阅专栏

本文探讨了在Qt环境中,使用栈上和堆上创建对象的区别。栈上对象在函数执行完毕后会自动销毁,而堆上对象则需要手动管理其生命周期,不设置父对象可能导致内存泄露。智能指针在函数结束时也会销毁其所指向的对象,因此不适合在这种场景下使用。

摘要生成于

C知道

,由 DeepSeek-R1 满血版支持,

前往体验 >

解决方案:

如果采用栈上生成对象的方式,即QWidget w。函数执行完后对象自动销毁,自然也就没有了。除非在父函数内生成或作为类成员记录,以让子函数结束后对象不自动销毁。如果采用堆内存分配对象的方式,即QWidget* w = new QWidget。函数执行完后对象不会自动销毁,在不设置widget的parent的情况下(设置后widget不会单独出现),应该是不会消失的,但要小心内存泄露的问题。注意,这里采用智能指针如sharedptr还是不可以,因为函数体结束后,智能指针对象销毁,伴随着堆上分配的对象的同时销毁,可以采用方法1的方式进行解决。




iOS系统省电应关闭设置!
柒的拼音、柒怎么读?三点水加七加木(㲺木)念什么?