Как точно уничтожить виджет? |
Здравствуйте, гость ( Вход | Регистрация )
Как точно уничтожить виджет? |
QMainWindow |
5.8.2011, 17:16
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Что следует вызывать, чтобы наверняка убить виджет или вообще любой объект в Qt? Т.е. освободить от него память, расконектить сигналы, убрать диспетчеризацию событий и прочее. В C++ нет же автоматической сборки мусора, значит собственноручно все это делать не надо. Достаточно для этого вызвать метод close() или accept()/reject()? Или destroy()?
|
|
|
RazrFalcon |
5.8.2011, 17:50
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
|
|
|
QMainWindow |
5.8.2011, 17:57
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
А деструктор? Не им уничтожаем?
|
|
|
RazrFalcon |
5.8.2011, 18:02
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
В деструкторе мы пишет то, что нужно выполнить при удалении.
|
|
|
QMainWindow |
5.8.2011, 21:04
Сообщение
#5
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
То бишь deleteLater() будет достаточно?
|
|
|
RazrFalcon |
5.8.2011, 21:56
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
да.
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 21:44 |