crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Закрытие/удаление окна
vankleef
  опции профиля:
сообщение 21.10.2010, 16:10
Сообщение #1


Студент
*

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

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




Репутация:   1  


Всем доброго времени суток!
Есть окно, наследник QDialog.
Нужно при нажатии на кнопку закрывать окно и, соответственно, высвобождать память, отведенную под него.
Я понимаю, что можно создать свой слот, которой будет вызывать деструктор, но неужели нету стандартного слота для закрытия окна с его удалением?
Прочел, что есть deleteLater(), я так понял что он не всегда может срабатывать.. или нет? :huh:
И еще вопрос, можно ли повесить на кнопку закрытия (крестиком вверху на рамке окна которая)) тоже удаление окна или свой слот.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 21.10.2010, 16:19
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(vankleef @ 21.10.2010, 17:10) *
Прочел, что есть deleteLater(), я так понял что он не всегда может срабатывать.. или нет? :huh:

что тебя смутило в документации - непонятно.
должен всегда срабатывать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 21.10.2010, 16:21
Сообщение #3


Старейший участник
****

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

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




Репутация:   9  


Посмотрите на аттрибуты виджетов. Среди них есть Qt::WA_DeleteOnClose, возможно он поможет решить данную проблему.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 21.10.2010, 16:53
Сообщение #4


Студент
*

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

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




Репутация:   1  


Цитата(kwisp @ 21.10.2010, 17:19) *
Цитата(vankleef @ 21.10.2010, 17:10) *
Прочел, что есть deleteLater(), я так понял что он не всегда может срабатывать.. или нет? :huh:

что тебя смутило в документации - непонятно.
должен всегда срабатывать.


вот это смутило http://www.forum.crossplatform.ru/index.ph...ost&p=12363
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 21.10.2010, 16:58
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


vankleef,
ты что зацикливаешься по while(1) ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 21.10.2010, 17:00
Сообщение #6


Студент
*

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

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




Репутация:   1  


А за Qt::WA_DeleteOnClose огромное спасибо, буду знать теперь)
Qt учу не особо долго, глаза разбегаются от такого кол-ва методов, классов и прочего добра.



Цитата(kwisp @ 21.10.2010, 17:58) *
vankleef,
ты что зацикливаешься по while(1) ?


это функция не для простого удаления объекта, вот это меня и смутило
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 22.11.2024, 16:24