Have noticed a behavior change in Qt 5.11.1 and is affecting several applications, so have decided to bring it your attention.
Following commit http://code.qt.io/cgit/qt/qtbase.git/commit/?id=e0b5ff4ad583befbecbcbe462998e3ed80899531 changed order in which events are handled when application is closing down and it causes some events (widget hide) to be happening sooner than before.
I've noticed the change as it has caused annoying issues in several KF5 applications (toolbars, statusbars, dock widgets get hidden on next application launch). The problem happens when widgets are assigned WA_NativeWindow attribute and as consequence they get wrapped into QWidgetWindow.
In Qt 5.11.0 (before above commit) the child widget destroy/hide during application close would go something like this:
... QMainWindow::~QMainWindow -> QStatusBar::~QStatusBar -> QWidget::destroy -> QWidgetWindow::destroy -> QWidgetWindow::hide -> QWidget::hide
In Qt 5.11.1 (after above commit) it changed to:
... QGuiApplicationPrivate::processCloseEvent -> QWidgetWindow::event -> QWidgetWindow::destroy -> QWidgetWindow::hide -> QWidget::hide
Here is the relevant KDE bug report: https://bugs.kde.org/show_bug.cgi?id=395988
Seems it's also affecting VirtualBox http://bugzilla.opensuse.org/show_bug.cgi?id=1099589