多分これは助けることができます:
Ogre::String winHandle;
#ifdef WIN32
// Windows code
winHandle += Ogre::StringConverter::toString((unsigned long)(this->parentWidget()->winId()));
#else
// Unix code
QX11Info info = x11Info();
winHandle = Ogre::StringConverter::toString((unsigned long)(info.display()));
winHandle += ":";
winHandle += Ogre::StringConverter::toString((unsigned int)(info.screen()));
winHandle += ":";
winHandle += Ogre::StringConverter::toString((unsigned long)(this->parentWidget()->winId()));
#endif
Ogre::NameValuePairList params;
params["parentWindowHandle"] = winHandle;
mOgreWindow = mOgreRoot->createRenderWindow( "QOgreWidget_RenderWindow",
this->width(),
this->height(),
false,
¶ms );
QX11Info は Qt クラスで、ハンドルを取得するために使用されます。ハンドルが Ogre::NameValuePairList に name:"parentWindowHandle" 値として挿入されます: ハンドルと 10 が引数として OgreRoot::createRenderWindow() に送信されます。Qtでこのコードを試してみましたが、うまくいきました。うまくいかない場合は、パラメーター名として externalWindowHandle を使用してみてください。
ソース: http://www.ogre3d.org/tikiwiki/QtOgre