gpt4 book ai didi

c++ - QDialog 删除它的 QLayout?

转载 作者:行者123 更新时间:2023-11-28 07:27:58 28 4
gpt4 key购买 nike

我有一个 Qt4 应用程序,它有很多对话框。我很想知道 QDialog 是否删除了它的布局。举个例子:

class MyDialog : public QDialog {
public:
MyDialog(QWidget* _parent = 0) : QDialog(_parent) {
//instantiate some widgets
m_layout = new QGridLayout(this);
setLayout(m_layout)
//add some widgets to the layout
}

~MyDialog() {
//Do I need this code? or will the parent delete the layout?
//delete m_layout;
}
private:
QGridLayout* m_layout;
}

那么我需要自己写析构函数吗?或者 QDialog 会负责 m_layout 的内存管理吗?

最佳答案

QDialog 将在销毁时删除 QLayout。您不需要在析构函数中删除布局。

另请参阅:http://doc-snapshot.qt-project.org/qt5-stable/qtwidgets/qwidget.html#setLayout

关于c++ - QDialog 删除它的 QLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18368171/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com