在窗口下用new 新建一些按钮,关闭该窗口时要不要用delete释放掉
在窗口上用new 新建一些按钮,关闭该窗口时要不要用delete释放掉啊在窗口上用new 新建一些按钮,关闭该窗口
在窗口上用new 新建一些按钮,关闭该窗口时要不要用delete释放掉啊
在窗口上用new 新建一些按钮,关闭该窗口时要不要用delete释放掉啊,是不是窗口关闭时,析构函数会自动释放该窗口所有内存
[解决办法]
QLabel *myLabel = new QLabel(this);
就不用管了。
[解决办法]
Qt有个规则是 父亲删除了就会删除他的孩子。
new QLabel(this);
表示的是 你这个Qlabel的父亲就是外面那个窗口。。
所以如果你 new QLabel();这样写。。就必须要delete哈。
[解决办法]
不是析构函数什么都不写,而是在后面都被销毁了,这个是Qt的内存管理机制,当然必须是QObject的子类,new的时候要有parent,如果具备这两项,Qt会帮你delete。
[解决办法]虽然如果你写成new QLabel(this);
delete
依然不会是释放,直到最高阶的父类被释放。
[解决办法]1、QDesk的析构函数执行了吗?
2、如果不满足Qt内存自动回收的条件的话,QDesk new出来的对象delete了吗?
[解决办法]严格来说,虽然Qt有自己的内存回收机制,但最好能自己主动delete,举个例子,如果是服务器之类的程序,那就需要对内存有严格的控制,而不是依赖系统的内存回收机制。
[解决办法] 你父类不存在了、Qt半自动化内存管理机制、会删除他的子类
[解决办法]如果你点窗口上的X来关闭窗口,执行的不是析构函数,而是accept操作。
还是那句话LZ要明白析构函数什么时候执行。