There are several related issues. QtQuick has the Window declaration, instantiating a QQuickWindow, which in retrospect seems like a mistake: it would be much better to follow the pattern from Widgets, that a Window is a kind of Item which can be shown in an independent window, or can be hosted inside an existing scene. It has been a lot of trouble to implement all kinds of dialogs and other popups because of this. We haven't dared to try to implement dock windows, even though people keep asking for it, because it looks too hard. It would help to achieve some sort of fractal "closure" (some mathematical notion of set membership which I don't quite have the right word for) that all windows are Items (thus they inherit all the geometric properties rather than having to recreate them) and thus can be transplanted between window frames and put in-scene or taken out-of-scene more easily. Geometry is an abstraction which we should have a class for; Item should inherit that; and a window should just be an Item which has been put into a window, perhaps by setting a property. We might not need to expose Window as a type anymore.
Related to that: we need to unify the feature set between widgets' windows and QWindow. Especially: the solution for handling popups needs to be in QtGui so that it gets reused between Widgets and Quick, and we can stop the seemingly infinite series of bugs and workarounds every time we (or the users) try to implement popups in Qt Quick.