Вот это может поможет.
WId QWidget::winId () const
Returns the window system identifier of the widget.
Portable in principle, but if you use it you are probably about to do something non-portable. Be careful.
If a widget is non-native (alien) and winId() is invoked on it, that widget will be provided a native handle.
Note: We recommend that you do not store this value as it is likely to change at run-time.
Возможно понадобится вот этот атрибут:
Qt::AA_NativeWindows - Ensures that widgets have native windows.
Вот насчет позиции окна:
QRect QWidget::geometry;
This property holds the geometry of the widget relative to its parent and excluding the window frame.
When changing the geometry, the widget, if visible, receives a move event (moveEvent()) and/or a resize event (resizeEvent()) immediately. If the widget is not currently visible, it is guaranteed to receive appropriate events before it is shown.
The size component is adjusted if it lies outside the range defined by minimumSize() and maximumSize().
Warning: Calling setGeometry() inside resizeEvent() or moveEvent() can lead to infinite recursion.
See the Window Geometry documentation for an overview of window geometry.
By default, this property contains a value that depends on the user's platform and screen geometry.
Access functions:
const QRect & geometry () const
void setGeometry ( int x, int y, int w, int h )
void setGeometry ( const QRect & )
И всё-таки интересно зачем это?
Не проще ли внутри одного виджета менять всё в таком случае?
Каюсь - однажды пользовался:
void QMainWindow::setCentralWidget ( QWidget * widget )