Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] QMessageBox завершает скрытое приложение


Автор: CompWorm 19.4.2009, 18:47
подскажите, как решить проблему...

кратко о проге:
есть приложение, в нем таймер. приложение сидит в трее (QSystemTrayIcon) и скрыто черезе this->hide().
через некоторое время по таймеру, который инициализирован в главном окне, должен вылезать QMessageBox::question(this, ... ). главной формы при этом не видно.

проблема:
после закрытия QMessageBox приложение закрывается, а должно продолжать работать.

если главное окно открыто, то закрытие массаж-бокса конечно никак не влияет, но вот если скрыто... то влияет)))
наверно я зря при запуске QMessageBox::question юзаю "this", но на что его поменять - не знаю.

подскажите, где я неправ.  smile 

Автор: SABROG 19.4.2009, 20:24
Попробуй такое сделать:

Код

     QApplication::setQuitOnLastWindowClosed(false);


Или такое, для окон, которые будут появляются при скрытом главном окне:

Код

    QMessageBox msg(this);
    //... - инициализация текста, кнопок и прочего
    msg.setAttribute(Qt::WA_QuitOnClose, false);
    msg.exec();

Автор: CompWorm 19.4.2009, 21:56
+1
оба пашут. 
спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)