Удаление объектов. Вопрос по теории

261
23 декабря 2016, 14:01

Изучаю вопрос о грамотном управлении памятью. Как я понял, вызывать метод delete() для каждого виджета необязательно, достаточно при его создании объявить ему parent и при удалении родителя будут удалены и все его дочерние виджеты.
Теперь, есть окно QMdiSubWindow. Код создания окна:

CatProducts *catProducts = new CatProducts();
catProducts->setObjectName("catProducts");
mdiArea->addSubWindow(catProducts);
catProducts->show();  

Окну присвоен атрибут Qt::WA_DeleteOnClose. На это окно я вешаю QWidget как internal widget, а на него уже остальные виджеты. Код примерно такой:

QWidget *internalWidget = new QWidget(this);
setWidget(internalWidget);
QGridLayout *layout = new QGridLayout(internalWidget);
internalWidget->setLayout(layout);   
QTreeView *tree = new QTreeView;
tree->setFixedWidth(100);
layout->addWidget(tree,1, 1, 1, 3);
QPushButton *button = new QPushButton("BUTTON");
layout->addWidget(button, 2, 1);  

Теперь диспетчером задач в винде тестирую расход памяти открывая/закрывая моё QMdiSubWindow. При открытии объём потреблённой памяти увеличивается, а при закрытии не уменьшается. Т.е. занятая память не высвобождается. Как это нужно делать правильно?

И ещё вопрос: на примере layout'а, передача его в качестве параметра конструктора QTreeView *tree = new QTreeView(layout) и запись layout->addWidget(tree) идентичны? Т.е. в обоих случаях layout является родительским виджетом для tree?

READ ALSO
Динамический вывод из MySQL

Динамический вывод из MySQL

Есть база данных с таблицами статистики, 4 идентичных таблицы с разными названиями и иерархией - //категория - подкатегория - проект - таблица...

292
Оптимизация SQL запроса (Copying To Tmp Table)

Оптимизация SQL запроса (Copying To Tmp Table)

Как можно оптимизировать данный запрос ?

330
Достать логин по id

Достать логин по id

Имею следующий запрос для вывода данных в таблицу:

236
Установка связей в таблице mySQL

Установка связей в таблице mySQL

Ребята, помогите, разобраться на пальцах(ситуацию упростил до самой сути)

318