When environment variable QT_QUICK_BACKEND="softwarecontext"
When QQuickWindow::hide() is invoked, the window containing QML content disappears as expected.
When invoking QQuickWindow::show() to make the window visible again, it results in the window re-appearing, but not the QML content (Blank window, refused to repaint).
Workaround is to call QQuickWindow::resize() a couple of times before calling QQuickWindow::show() again. Or user manually resizes window.
I've attached a sample program that creates two windows. When clicking the "toggle" button on the first window, it will show/hide the other window. Notice that when the window goes from visible to hidden and back to visible again, the contents are loss. You can uncomment the "ApplyWorkaround" call in the code to see how a resize fixes the issue.