I've been doing some research and this is the closest i've found on Qt+OGRE shared OpenGL rendering.

But have you found a way to share the context instead of switching? Context switching might be costly. Have you read about

Qt Code:
  1. params["externalGLContext"] = Ogre::StringConverter::toString( ((unsigned long)(glXGetCurrentContext()) ) );
  2. mRenderWindow = mOgreRoot->createRenderWindow("View", width(), height(), false, &params);
To copy to clipboard, switch view to plain text mode 

Im doing this but seems OGRE insists on creating a new context.