Qt MainWindow CloseEvent Mac Cmd+QC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Qt MainWindow CloseEvent Mac Cmd+Q

Сообщение Anonymous »

В OS X 10.9 с Qt 5.2 и следующим кодом приложения

Код: Выделить всё

#include "mywindow.h"
#include 

int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MyWindow w();
w.show();
return a.exec(); }
где MyWindow является производным от QMainWindow и перезаписывает метод closeEvent(QCloseEvent*), этот метод вызывается, когда я закрываю окно приложения (например, нажмите кнопку закрытия Windows (x), но оно не вызывается, когда я закрываю приложение через главное меню -> «Выход» или с помощью сочетания клавиш «CMD + Q».

Посмотрев в Интернете и задав многочисленные вопросы, у меня сложилось впечатление, что закрытие приложения должно вызывать closeEvent для всех окон верхнего уровня. Это не так, или здесь что-то не так?

Изменить: Помимо вышеперечисленных способов закрытия приложения существуют любые другие случаи, которые мне обычно следует обрабатывать, которые приведут к QApplication::quit вместо вызова события закрытия окна? А как насчет, например, завершения работы системы?

При обработке события закрытия я подтверждаю, что пользователь действительно хочет выйти, и гарантирую очистку, например происходит запись измененных настроек. Должен ли я вместо этого переместить настройки очистки/сохранения в деструктор и выполнить запрос подтверждения в closeEvent?

Подробнее здесь: https://stackoverflow.com/questions/232 ... t-mac-cmdq
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»