本文主要内容:使用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下了。