Корректное удаление виджета |
Здравствуйте, гость ( Вход | Регистрация )
Корректное удаление виджета |
Гость_Гость_* |
24.9.2009, 8:25
Сообщение
#1
|
Гости |
Есть базовый виджет
Уничтожается так:
От него наследуется другой виджет:
При нажатии на кнопку вызывается слот SlotDestroy, который вызывает деструктор:
При каждом цикле создания и удаления frmServiceSelect программа память освобождается не полностью. то 10-12 кб прибавляется к объему потребляемой оперативки, то 60-80... Как корректно подчистить память? |
|
|
BRE |
24.9.2009, 8:34
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
kwisp |
24.9.2009, 9:02
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
а почему ты в диструкторе уничтожаешь объекты?
у тебя что webView, serviceButtons, _btnOk, _btnBack, _btnCancel не имеют parent`a ? |
|
|
Гость_Гость_* |
24.9.2009, 9:35
Сообщение
#4
|
Гости |
Паренты имеются, конечно же. А уничтожаю я так, для надежности
|
|
|
Гость_Гость_* |
24.9.2009, 9:40
Сообщение
#5
|
Гости |
Скачал Deleaker - буду искать утечки
|
|
|
kwisp |
24.9.2009, 9:42
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Паренты имеются, конечно же. А уничтожаю я так, для надежности я бы для надежности тогда уже писал
чтоб наверняка грохнуть! дока. Цитата Member Function Documentation Q_INVOKABLE QObject::QObject ( QObject * parent = 0 ) Constructs an object with parent object parent. The parent of an object may be viewed as the object's owner. For instance, a dialog box is the parent of the OK and Cancel buttons it contains. The destructor of a parent object destroys all child objects. Setting parent to 0 constructs an object with no parent. If the object is a widget, it will become a top-level window. See also parent(), findChild(), and findChildren(). |
|
|
Гость_Гость_* |
24.9.2009, 9:49
Сообщение
#7
|
Гости |
|
|
|
SABROG |
24.9.2009, 10:43
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
kwisp |
24.9.2009, 10:58
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Цитата(kwisp @ 24.9.2009, 10:42) * delete webView; delete webView; Так надежности как раз не будет, так как программа просто упадет это же шутка была!. конечно упадет(в лучшем случае) а может и просто бед натворить по уничтожению других объектов. а второй твой вариант тоже не зачем:) |
|
|
BRE |
24.9.2009, 11:10
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 0:49 |