crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Динамические объекты в Qt?
registr
  опции профиля:
сообщение 10.10.2011, 18:37
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 115
Регистрация: 16.11.2009
Пользователь №: 1234

Спасибо сказали: 8 раз(а)




Репутация:   1  


Как подчищаются динамические объекты (через new)? Освобождается память операционной системой или какими-то Qt-шными средствами?

Перефразирую вопрос. Почему в Qt Examples and Demos динамические объекты не удалаются через delete в деструкторах?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
silver47
  опции профиля:
сообщение 10.10.2011, 19:20
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

Спасибо сказали: 40 раз(а)




Репутация:   6  


Цитата
Почему в Qt Examples and Demos динамические объекты не удалаются через delete в деструкторах?


Потому что у них есть родители, которые удаляют их при своем уничтожении. Простой пример:
MyWidget::MyWidget(QWidget *parent) : QWidget(parent){
  QVBoxLayout *mainLay = new QVBoxLayout(this); // создаю главный лэйаут и присваиваю ему родителем текущий класс, при уничтожении класса этот лэйатут будет уничтожен

  mainLai->addWidget(new QLabel("А это простой элемент, внутри лэйатуа"\n"Он будет уничтожен при уничтожении лэйатуа автоматически"));

  this->setLayout(mainLay);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 1:58