#include #include #include #include #include #include class Filter : public QObject { public: using QObject::QObject; bool eventFilter(QObject* watched, QEvent* event) { if (event->type() == QEvent::HideToParent) { qDebug() << "Hidden"; } return false; } }; int main(int argc, char* argv[]) { QApplication app(argc, argv); auto win = new QMainWindow(); auto central = new QWidget(win); auto layout = new QVBoxLayout(central); auto btn = new QPushButton("Press", central); layout->addWidget(btn); auto filter = new Filter(win); win->installEventFilter(filter); QObject::connect(btn, &QPushButton::pressed, win, [&]() { auto web = new QWebEngineView(central); layout->addWidget(web); }); win->show(); return app.exec(); } // Call stack showing the hiding of the main window /* Qt6Widgetsd.dll!QWidgetWindowPrivate::setVisible(bool visible) Line 50 C++ Qt6Guid.dll!QWindow::setVisible(bool visible) Line 655 C++ Qt6Guid.dll!QWindowPrivate::destroy() Line 2009 C++ Qt6Guid.dll!QWindow::destroy() Line 1978 C++ Qt6Widgetsd.dll!QWidgetPrivate::deleteTLSysExtra() Line 1700 C++ Qt6Widgetsd.dll!QWidget::destroy(bool destroyWindow, bool destroySubWindows) Line 12436 C++ Qt6Widgetsd.dll!QWidget::setParent(QWidget * parent, QFlags f) Line 10834 C++ Qt6Widgetsd.dll!QWidget::setParent(QWidget * parent) Line 10631 C++ Qt6Widgetsd.dll!QLayout::addChildWidget(QWidget * w) Line 864 C++ Qt6Widgetsd.dll!QLayout::addWidget(QWidget * w) Line 189 C++ Qt6WebEngineWidgetsd.dll!QWebEngineViewPrivate::widgetChanged(QtWebEngineCore::WebEngineQuickWidget * oldWidget, QtWebEngineCore::WebEngineQuickWidget * newWidget) Line 427 C++ Qt6WebEngineWidgetsd.dll!QWebEngineViewPrivate::bindPageAndWidget(QWebEnginePagePrivate * pagePrivate, QtWebEngineCore::WebEngineQuickWidget * widget) Line 732 C++ Qt6WebEngineWidgetsd.dll!QtWebEngineCore::WebEngineQuickWidget::Bind(QtWebEngineCore::WebContentsAdapterClient * client) Line 119 C++ Qt6WebEngineCored.dll!QtWebEngineCore::RenderWidgetHostViewQtDelegateItem::adapterClientChanged(QtWebEngineCore::WebContentsAdapterClient * client) Line 441 C++ Qt6WebEngineCored.dll!QtWebEngineCore::WebContentsDelegateQt::RenderViewHostChanged(content::RenderViewHost * __formal, content::RenderViewHost * newHost) Line 313 C++ Qt6WebEngineCored.dll!QtWebEngineCore::WebContentsAdapter::initialize(content::SiteInstance * site) Line 511 C++ Qt6WebEngineCored.dll!QtWebEngineCore::WebContentsAdapter::loadDefault() Line 616 C++ Qt6WebEngineCored.dll!QWebEnginePagePrivate::ensureInitialized() Line 676 C++ Qt6WebEngineCored.dll!QWebEnginePagePrivate::{ctor}::__l2::() Line 117 C++ Qt6WebEngineCored.dll!QtPrivate::FunctorCall,QtPrivate::List<>,void,void (void)>::call(QWebEnginePagePrivate::{ctor}::__l2::void (void) & f, void * * arg) Line 129 C++ Qt6WebEngineCored.dll!QtPrivate::Functor(void),0>::call,void>(QWebEnginePagePrivate::{ctor}::__l2::void (void) & f, void * __formal, void * * arg) Line 244 C++ Qt6WebEngineCored.dll!QtPrivate::QFunctorSlotObject(void),0,QtPrivate::List<>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 463 C++ Qt6Cored.dll!QtPrivate::QSlotObjectBase::call(QObject * r, void * * a) Line 374 C++ Qt6Cored.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 4036 C++ */