Название: Hidden window и QCloseEvent Отправлено: Naihil от Август 13, 2009, 16:24 Здравствуйте! Столкнулся со следующей проблемой:
Имеется главное окно QMainWindow, которое может сворачиваться в трей при минимизации. У окна установлен атрибут Qt::WA_DeleteOnClose. Определён слот для закрытия приложения: Код: void AppExit() Посмотрел в асистанте: Код: bool QWidget::close () [slot] Есть какое-то правильное решение, помимо вызова showNormal() перед qApp->closeAllWindows(); ? Название: Re: Hidden window и QCloseEvent Отправлено: ритт от Август 13, 2009, 16:30 1. зачем главному окну Qt::WA_DeleteOnClose ?
2. уверен, что при вызове слота из контекстного меню трея, приложение завершается, а не крашит? Название: Re: Hidden window и QCloseEvent Отправлено: Naihil от Август 13, 2009, 16:53 1. зачем главному окну Qt::WA_DeleteOnClose ? Чтобы оно удалялось при закрытии :)Код: int main(int argc, char *argv[]) Цитировать 2. уверен, что при вызове слота из контекстного меню трея, приложение завершается, а не крашит? Qt Creator говорит, что завершается:E:\tmp\test.exe exited with code 0 Qt 4.5.1 Название: Re: Hidden window и QCloseEvent Отправлено: spectre71 от Август 13, 2009, 17:28 1. зачем главному окну Qt::WA_DeleteOnClose ? Чтобы оно удалялось при закрытии :)Код
И обрабатываешь closeEvent Название: Re: Hidden window и QCloseEvent Отправлено: Naihil от Август 14, 2009, 08:26 1. зачем главному окну Qt::WA_DeleteOnClose ? Чтобы оно удалялось при закрытии :)Код
И обрабатываешь closeEvent Вопрос-то собственно не в этом, а в том почему hidden окно не получает QCloseEvent ??? UPD Переписал как предложил Spectre, при вызове AppExit() из трея деструктор MainWindow начал вызываться, а вот QCloseEvent как не было, так и нет :-/ Название: Re: Hidden window и QCloseEvent Отправлено: ритт от Август 14, 2009, 17:44 тогда тебе сюда: http://qt.nokia.com/bugreport-form
опиши проблему и приложи свой test-case. а когда ответят, поделишься ответом здесь ) Название: Re: Hidden window и QCloseEvent Отправлено: Naihil от Август 24, 2009, 09:41 тогда тебе сюда: http://qt.nokia.com/bugreport-form Вернулся из недельного отпуска, как будет время обновлю версию Qt и попробую в винде и линуксе...если останется без изменений, то попробую оформить тикет :)опиши проблему и приложи свой test-case. а когда ответят, поделишься ответом здесь ) |