本文主要內容:使用Qt Designer編輯好QT界面后,將OSG中的ViewerWidget嵌入到QT的Widget中。
在VS中嵌入QT工具,建立QT GUIApplication后,打開自動生成的.ui文件,用Qt Designer編輯,在界面添加layout,Widget,listWidget等控件並保存。
在工程頭文件中會有 Ui::xxClass ui(xx是工程名字),通過ui,可以拿到界面的各個控件,如下圖。
OSG 中的osgviewerQt例子提供了建立一個QT界面的類,運行這個例子可以獨立顯示QT 界面視圖。
對於osgviewerQt中的代碼,刪掉多余的widget,可以只保留widget1,其他代碼無需改動。將此中的代碼全盤拷到剛建立的QT GUIApplication的main.cpp中。將main.cpp中原始的main函數刪除。
在osgviewerQt中,顯示窗口的函數部分如下:
將這段代碼改為:
上面這段代碼的思想就是:將OSG中組織建立好的viewWidget掛接到一個QGridLayout下,然后將這個QGridLayout掛接到ui中需要添加OSG視圖的widget下,掛接結構組織好后,viewWidget就能顯示在之前編輯好的ui界面的指定widget下了。