Название: Закрытие дочерних окон Отправлено: Cortex от Октябрь 20, 2014, 11:23 Здравствуйте! Столкнулся с проблемой: при закрытии родительского окна все дочерние (созданные с параметром Parent) просто убиваются через деструкторы, при этом ивенты у них не генерятся (я не обнаружил). В документации Qt сказано только о том, что closeevent() возникает, если пользователь сам закрывает окно. Если его убивает родитель, то я не получаю сигналов об этом (а между тем нужно сохранить данные дочерних окон перед закрытием, причём желательно из самих «дочек»). Что делать ©?
Название: Re: Закрытие дочерних окон Отправлено: Bepec от Октябрь 20, 2014, 11:33 Event'ы это действия пользователя. Простое удаление не вызовет closeEvent.
Грязный хак - вызывать в деструкторе и в closeEvent одну и ту же функцию :) Название: Re: Закрытие дочерних окон Отправлено: Igors от Октябрь 20, 2014, 13:40 Здравствуйте! Столкнулся с проблемой: при закрытии родительского окна все дочерние (созданные с параметром Parent) просто убиваются через деструкторы, при этом ивенты у них не генерятся (я не обнаружил). В документации Qt сказано только о том, что closeevent() возникает, если пользователь сам закрывает окно. Если его убивает родитель, то я не получаю сигналов об этом (а между тем нужно сохранить данные дочерних окон перед закрытием, причём желательно из самих «дочек»). Что делать ©? Выглядит банально - значит очень возможно есть в букваре. Через пару минут можно найти напр сигнальчик QObject::destroyed()Название: Re: Закрытие дочерних окон Отправлено: Cortex от Октябрь 20, 2014, 13:49 OK. Значит, destroyed() вызывается ДО входа в деструктор. Насколько я понял, я должен прикрутить этот сигнал к своему слоту?
Название: Re: Закрытие дочерних окон Отправлено: Igors от Октябрь 20, 2014, 14:32 OK. Значит, destroyed() вызывается ДО входа в деструктор. Насколько я понял, я должен прикрутить этот сигнал к своему слоту? За время потраченное на такие уточнения - уже и прикрутили бы :) |