4

単一のosgQt::GLWidgetをQframeに統合し、次のパターンを使用しています:http ://trac.osgeo.org/ossim/browser/trunk/ossimPlanetQt/src/gui/ossimPlanetQtMainWindow.cppフルスクリーンモードを切り替えます帰ってきた。基本的にウィジェット内のキーストロークを消費し、そこからフルスクリーンを設定します。

また、osgViewer::Viewerにイベントコンシューマーがあります-osgViewer::WindowSizeHandlerは、ビューアーのサイズ切り替えを処理します。

これを実装するためのより良いパターンはありますか?

4

1 に答える 1

2

基本的に、あなたがすること(または、例で行われること)は問題ないようです。(私はあなたが参照していると仮定していることに注意してくださいvoid ossimPlanetQtMainWindow::on_viewToggleFullScreen_triggered(bool )

ただし、この例では、QGLWidgettheGLWidgetはとの間tabWidgetで親に変更されtheFullScreenFrameます。Windowsでは、の親を変更すると、QGLContextQGLWidgetが再作成されます。(QGLWidgetのドキュメントを参照してください

ドキュメントで提案されている回避策は、GLウィジェットをダミーウィジェット(単純QWidget)でラップし、GLウィジェットの代わりにそれを再ペアレント化することです。

私の経験では、これは問題なく機能します。

于 2012-11-13T10:37:58.637 に答える