我很困惑如何在Qt4中使用析构函数,希望大家能帮助我。
当我有一个像这样的方法(其中“Des”是一个类):
void Widget::create() {
Des *test = new Des;
test->show();
}
如何确保小部件在关闭后被删除?在"Des"类中,我有以下代码:
Des::Des()
{
QPushButton *push = new QPushButton("neu");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(push);
setLayout(layout);
}
我需要在哪里和如何删除*push和*layout?析构函数Des::~Des()应该包含什么?
QPushButton *
作为成员变量,并给它一个合适的父对象(可以在其构造函数中或使用setParent()
函数设置),那么当父对象被删除时,该按钮也会被删除。您也可以使用普通的QPushButton
(并让标准的 C++ 销毁规则生效),但是对于许多 Qt GUI 组件,您可能仍然需要一个父对象。 - richardwb