Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: voron от Октября 31, 2005, 18:55



Название: немодальный диалог
Отправлено: voron от Октября 31, 2005, 18:55
Вопрос наверное простой.
Как уничтожить немодальное диалоговое окно после закрытия? Пробовал создавать его с флагом Qt::WDestructiveClose, но в таком случае оно работает, как модальное (т.е. нет возможности переключиться в другое окно), хотя после закрытия всё равно не уничтожается.
Спасибо.


Название: немодальный диалог
Отправлено: nEoN от Ноября 01, 2005, 09:17
Если Qt4 то вот так:
Код:
QDialog* dlg = new QDialog(parent, Qt::WA_DeleteOnClose);
dlg->show();

В результате немодальное окно уничтожается при его закрытии.


Название: немодальный диалог
Отправлено: voron от Ноября 02, 2005, 07:19
А если Qt version 3.3.3?


Название: немодальный диалог
Отправлено: nEoN от Ноября 02, 2005, 09:07
В Qt3 похожим образом :
Код:
QDialog* dlg = new QDialog(parent, 0, false, Qt::WDestructiveClose); 
dlg->show();


Название: немодальный диалог
Отправлено: voron от Ноября 02, 2005, 23:20
Спасибо, дружище!
Ошибка была в том, что я создавал диалог так:
Код:
QDialog* dlg = new QDialog(parent, 0, Qt::WDestructiveClose); 

что, очевидно эквивалентно
Код:
QDialog* dlg = new QDialog(parent, 0, true); 

Сделал, как ты посоветовал и все получилось.
Ещё раз спасибо.