OSG嵌入QT(QT界面使用Qt Designer编辑)

时间:2022-11-04 06:26:28

本文主要内容:使用Qt Designer编辑好QT界面后,将OSG中的ViewerWidget嵌入到QT的Widget中。

在VS中嵌入QT工具,建立QT GUIApplication后,打开自动生成的.ui文件,用Qt Designer编辑,在界面添加layout,Widget,listWidget等控件并保存。

OSG嵌入QT(QT界面使用Qt Designer编辑)

在工程头文件中会有 Ui::xxClass ui(xx是工程名字),通过ui,可以拿到界面的各个控件,如下图。

OSG嵌入QT(QT界面使用Qt Designer编辑)

OSG 中的osgviewerQt例子提供了建立一个QT界面的类,运行这个例子可以独立显示QT 界面视图。

对于osgviewerQt中的代码,删掉多余的widget,可以只保留widget1,其他代码无需改动。将此中的代码全盘拷到刚建立的QT GUIApplication的main.cpp中。将main.cpp中原始的main函数删除。

在osgviewerQt中,显示窗口的函数部分如下:

OSG嵌入QT(QT界面使用Qt Designer编辑)

将这段代码改为:

OSG嵌入QT(QT界面使用Qt Designer编辑)

上面这段代码的思想就是:将OSG中组织建立好的viewWidget挂接到一个QGridLayout下,然后将这个QGridLayout挂接到ui中需要添加OSG视图的widget下,挂接结构组织好后,viewWidget就能显示在之前编辑好的ui界面的指定widget下了。

OSG嵌入QT(QT界面使用Qt Designer编辑)