gpt4 book ai didi

qt - 我必须删除它吗? [Qt]

转载 作者:行者123 更新时间:2023-12-04 13:35:28 30 4
gpt4 key购买 nike

在下面的示例中,我是否必须从堆中删除对象?如果是的话,怎么办?

#include <QApplication>
#include <QTreeView>
#include <QListView>
#include <QTableView>
#include <QSplitter>

int main(int argc, char* argv[])
{
QApplication app(argc,argv);
QTreeView* tree = new QTreeView;
QListView* list = new QListView;
QTableView* table = new QTableView;
QSplitter* splitter = new QSplitter;
splitter->addWidget(tree);
splitter->addWidget(list);
splitter->addWidget(table);
splitter->show();
// delete splitter; WHEN TRYING TO DELETE I'M GETTING INFO THAT app EXITED
// delete table; WITH CODE -1073741819
// delete list;
// delete tree;
return app.exec();
}

感谢您的任何帮助。

最佳答案

只需在堆栈上分配splitter即可。然后treelisttable成为拥有所有权的splitter的子代。删除splitter时,将删除所有子项。

Widgets Tutorial - Child Widgets:

The button is now a child of the window and will be deleted when the window is destroyed. Note that hiding or closing the window does not automatically destroy it. It will be destroyed when the example exits.



另请参见 Object Trees and Object Ownership

关于qt - 我必须删除它吗? [Qt],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092534/

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