Пн. Окт 26th, 2026

Есть главное окно, наследник QWidget. Большую часть времени оно свернуто в трей.
При возникновении некого события необходимо показать на экране сообщение с информацией в виде окна, наследника QDialog.

Проблема

http://www.cyberforum.ru/qt/thread351114.html

Его создание производится вызовом метода класса главного окна:

Код C++Выделить код
1
2
3
4
5
6
7
8
9
void POrganizer::displayAlarmWindow(QString str)
{
//    showNormal();
    AlarmDialog* aD = new AlarmDialog(this, string);
    aD->setAttribute(Qt::WA_DeleteOnClose);
    aD->move(20, 20);
    aD->show();
    aD->activateWindow();
}

Проблема в том, что при нажатии на кнопку Ok (close()) диалогового окна завершается работа программы. Это если главное окно спрятано.
Если его восстановить перед показом диалога (showNormal()) — все хорошо.

Решение

а вот это:

Код C++Выделить код
1
 QApplication::setQuitOnLastWindowClosed(false);

прописывать не пробовал?

 

От sapfir63