Incrustar QWidget en la ventana X11

Quiero incrustar dos QWidgets en una ventana creada con XLib. He escrito este código:

<code>// Assume all the necessary headers included

int main(int argc, char *argv[])
{
   QApplication app(argc, argv);

   // Create widget 1
   QWidget widget1 ; 
   widget1.setGeometry(44,44,666,666);
   widget1.show();

   // Create widget 2   
   QWidget widget2 ;
   widget2.setGeometry(144,144,666,666);
   widget2.show();      

   Display *display = XOpenDisplay( 0 ); // 0 parameter for default values

   if ( display != NULL )
   {
      // Create the x11 window using XLib
      Window w = XCreateWindow(display, DefaultRootWindow(display), 
      0, 0, 1200, 1100, 0,CopyFromParent, CopyFromParent, CopyFromParent, 0, 0);

      XMapWindow(display, w);
      XFlush(display);

      XReparentWindow(display, widget1.winId(), w, 0, 0);
      XReparentWindow(display, widget2.winId(), w, 1, 10);
  }

  else
      std::cout << "Error: Opening display" << std::endl ;

      return app.exec();
}
</code>

Soy capaz de ejecutar este programa con éxito, pero estos widgets no se incrustan en la ventana X11 que creé. Las tres cosas se están creando, pero de forma independiente. Estos widgets no se están incrustando en la ventana.

Respuestas a la pregunta(2)

Su respuesta a la pregunta