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


Автор: Devourer 13.9.2009, 18:37
Как называется сигнал отпоавляемый кнопкой закрытия? которая в правом верхнем углу окна?

Автор: Efs 13.9.2009, 18:41
Если мне не изменяет память: PostQuitMessage(0)  в сообщении WM_DESTROY .

Автор: Acer 13.9.2009, 18:52
Нужно переопределить метод
Код

protected:
    void closeEvent( QCloseEvent *__e );

Если нужно, чтобы окно не закрывалось:
Код

void MyWidget::closeEvent(QCloseEvent *__e){
    __e->ignore();
}

Автор: KL7 13.9.2009, 18:57
если вопрос по Qt и задача - сделать что-то перед закрытием приложения, то надо делать примерно так:
Код

void MainWindow::closeEvent(QCloseEvent *event) {
    if (/* какое-то условие */) {
        ...                           //что-то делаем
        event->accept();   //подтверждаем событие - добросовестно закрываем приложение
    } else {
        ...                           //что-то делаем
        event->ignore();   //игнорируем событие
    }
}


Цитата(Efs @  13.9.2009,  18:41 Найти цитируемый пост)
Если мне не изменяет память: PostQuitMessage(0)  в сообщении WM_DESTROY .

память может и не изменяет, но ветка - "Кроссплатформенное программирование" так что вряд ли вопрос был по  Win32 API...  smile 

Автор: Efs 13.9.2009, 19:01
Цитата(Efs @ 13.9.2009,  18:41)
память может и не изменяет, но в ветке "Кроссплатформенное программирование" мало кого интересует Win32 api...  

Прошу прощения, совсем заработался  smile 

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