"closed" and "hidden" are synonyms, so in reality they are hidden when you close them, unless you pass a destructive close flag to them. But if you insist on making sure of that, override their closeEvent and call hide() there (remember to ignore the event afterwards). Just make sure you don't disable closing the window completely (meaning that at some point the closeEvent will have to be accepted).
Bookmarks