osg嵌入到Qt窗体,实现Qt和osg混合编程

本文介绍了如何将OpenSceneGraph(osg)嵌入到Qt窗口中,实现Qt与osg的混合编程。首先确保osg在Visual Studio上已成功编译,接着创建新的Qt项目并配置osg的库依赖。通过创建一个QtOsgView类,控制osg在Qt中的渲染和交互,然后将Qt的Widget提升为此类,完成osg在Qt窗口中的显示。附有osg_qt.h和osg_qt.cpp的代码示例。

目录

1. 前提

2. 配置

3. 一个Qt实现的osg例子 


1. 前提

     已经完成osg在Visual Studio上的64位编译生成编译包,现在尝试把osg嵌入qt中,实现交互。

2. 配置

    首先在vs下生成一个新的项目:

 

然后对Osg的vs项目属性进行配置(Tip:在此之前一定记得电脑的环境变量中一定要先配好,因为是基于已经完成编译了这里就不讲怎么配了网上很多大概是如下):

Visual Studio属性配置,属性页配置:

 链接器中,附加依赖项加入osg的lib(Debug所以后面有d,Release没有)

3. 一个Qt实现的osg例子 

里面直接粘贴:

OpenThreadsd.lib 
osgd.lib 
osgDBd.lib 
osgFXd.lib 
osgGAd.lib 
osgManipulatord.lib 
osgParticled.lib
 osgShadowd.lib 
osgSimd.lib 
osgTerraind.lib 
osgTextd.lib 
osgUtild.lib 
osgViewerd.lib

至此配置完成现在来把Osg嵌入qt中
新建一个普通视图类QtOsgView用于控制QT中OSG的渲染,和一些基本响应,代码如下
QtOsgView.cpp

#include "QtOsgView.h"
#include <QDebug>

AdapterWidget::AdapterWidget(QWidget *parent, const char* name, const QGLWidget * shareWidget, Qt::WindowFlags f)
{
	mGw = new osgViewer::GraphicsWindowEmbedded(0, 0, width(), height());//创建可移植的窗口。

	s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值