OSG + QT切换到全屏和后退

时间:2012-11-02 02:42:16

标签: qt fullscreen openscenegraph

我在Qframe中集成了一个osgQt :: GLWidget,并使用这里的模式:http://trac.osgeo.org/ossim/browser/trunk/ossimPlanetQt/src/gui/ossimPlanetQtMainWindow.cpp在全屏模式和后退模式之间切换。基本上消耗小部件中的按键并从那里设置全屏。

我在osgViewer :: Viewer中也有一个事件使用者 - osgViewer :: WindowSizeHandler处理查看器大小切换。

有没有更好的模式来实现这个?

1 个答案:

答案 0 :(得分:2)

基本上,你做的(或者,在例子中做了什么)似乎很好。 (请注意,我假设您引用void ossimPlanetQtMainWindow::on_viewToggleFullScreen_triggered(bool )

但是,在示例中,QGLWidget theGLWidgettabWidgettheFullScreenFrame之间进行了重新分配。在Windows下,重新显示QGLWidget将导致重新创建QGLContext。 (见QGLWidget documentation

文档建议的解决方法是将GL小部件包装在虚拟小部件(简单QWidget)中,并重新表示而不是GL小部件。

根据我的经验,这很好用。