У меня есть настольное приложение Windows, запрограммированное на C++ с помощью Qt. Приложение имеет несколько окон верхнего уровня, которые время от времени необходимо закрывать и создавать заново программно. Кроме того, когда пользователь программы нажимает кнопку закрытия (та, что рядом с кнопками свертывания и развертывания), предполагается, что вся программа завершается.
У меня проблема в том, что в обоих случаях окна верхнего уровня получают вызов closeEvent()
с объектом QCloseEvent
. Я хотел бы выйти из программы, когда увижу, что это произошло (потому что пользователь мог нажать кнопку закрытия), но также возможно, что окно закрывается, потому что я удаляю его программно, чтобы воссоздать его.
Есть ли способ различить эти два случая в QMainWindow::closeEvent()
?