Qt приложение отменяет событие выхода - PullRequest
8 голосов
/ 19 декабря 2011

Мне было интересно, можно ли игнорировать / отменить выход из приложения на основе определенного установленного логического флага, даже если пользователь должен был щелкнуть по красной «X» (кнопка закрытия окна).

Я программист на c # и знаю, что это довольно легко сделать для приложений .net, но я довольно новичок в qt framework, и поиск в Google не принес соответствующих результатов.

Спасибо

1 Ответ

17 голосов
/ 19 декабря 2011

Документация Qt описывает этот конкретный сценарий использования для запроса разрешения на закрытие в их примерах .

Если вы, например, подкласс QMainWindow и переопределите *Функция 1008 * позволяет настраивать поведение вашего приложения, когда кто-то пытается его закрыть.Например:

void MainWindow::closeEvent(QCloseEvent *event)
{
    if (maybeSave()) {
        writeSettings();
        event->accept();
    } else {
        event->ignore();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...