Вчера блин полчаса убил на поиск ошибки.
Пишу на кутэ. Рисую базовый класс диалогов, наследуясь от QDialog. Модальность прикрутил сразу, пытаюсь сделать немодальное. И тут засада. модальные окна по show() работают, немодальные тутже закрываются (причем понял это не стразу — уж
очень быстро закрывались). Уж какие я токо флаги не поиспробывал, что тока не делал... Ни в какую. Плюнул, пошел покурил. Вернулся, жму на в редакторе вкладку .h файла, промахиваюсь мимо — попадаю на вкладку другого исходника, где перед глазами код вывода диалога. И что же вы думаете?:
CDlg * dlg = new CDlg(this);
dlg->show();
delete dlg;
Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...
[RSDN@Home][1.2.0][alpha][668]
[В сражениях за истину последняя участия не принимает. [Авессалом Подводный]]
Здравствуйте, Sheridan, Вы писали:
S>S>CDlg * dlg = new CDlg(this);
dlg->>show();
S>delete dlg;
S>
S>Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...
мдя... у мну тож такое было, когда из немодального надо было сделать модальный...
{
myDlg dlg;
dlg.show();
}
S>S>CDlg * dlg = new CDlg(this);
dlg->>show();
S>delete dlg;
S>
S>Close. Power. Свет. Подушка. Ибо имхо продолжать было опасно...
Умными указателями надо пользоваться, чтобы само уничтожалось при выходе из области видимости :-D
...супер-умными — чтобы ВСЕ само уничтожалось... сразу после создания! :-D