查看: 1499|回复: 5

osg与qt结合的一个问题

[复制链接]

该用户从未签到

发表于 2016-1-20 10:41:19 | 显示全部楼层 |阅读模式
1.借鉴网上的一个写osg与qt的文档
//在这个控件的构造函数里,把widget用tab显示
osgQtWidget:sgQtWidget(osgViewer::ViewerBase::ThreadingModel threadingModel): QWidget(){
        
        QWidget* widget1 = addViewWidget( createCamera(0,0,100,100 ,false), osgDB::readNodeFile("cow.osg") );
        QVBoxLayout*grid=new QVBoxLayout;
        table=new QTabWidget;
//把widget放在一个qtWidget里,
        QHBoxLayout*qtWidget=new QHBoxLayout;
        qtWidget->addWidget(widget1);
//用setLayoutz,在table里面显示,是可以显示的。
        table->setLayout(qtWidget);
        grid->addWidget(table);
        table->setTabsClosable(true);
        setLayout( grid );
}


为了在table里面显示多页,我需要用addtab(),然后想把widget(就是那个可以显示cow.osg的控件)作为一个页面,所以想用
       QWidget *layoutWidget=new QWidget;
        QVBoxLayout*grid=new QVBoxLayout;
        table=new QTabWidget;
//把widget放在一个qtWidget里,
        QHBoxLayout*qtWidget=new QHBoxLayout;
        qtWidget->addWidget(widget1);
//用layoutwidget,包裹一个这个qtwidget,在table里面显示,显示不出来cow.osg。
        layoutwidget->addwidget(qtWidget);
        table->addT(layouwidget,"3D");
        grid->addWidget(table);
        setLayout( grid );
       

i简而言之        用layout可以显示出来,在用一个widget包裹layout就显示不出来了
       
这个问题应该怎么解决呢,各位大神,请指教 5O}OZPSX7$`B)LG3_B]QSMI.png
}>9YOXP8[6LQ$@{7IH.jpg
PR[I3VN5HR(X085(KG[N.png

该用户从未签到

 楼主| 发表于 2016-1-20 19:43:14 | 显示全部楼层
有没有大神来指点一下,可以加扣扣,861045644,是不是说的清楚一些

该用户从未签到

 楼主| 发表于 2016-1-22 08:38:19 | 显示全部楼层
tab控件的这个显示sog的页面,大家应该也遇到过这样的问题吧,谁给我解答一下吧

该用户从未签到

发表于 2016-1-25 15:32:22 | 显示全部楼层
你去参考一下显示相机上下文的设置,我以前遇到过这样的问题。OSG中代码例子在同一个页面中可以显示多个,但是遇到类似TabWidget的控件时,会遇到你说的这样的问题。

该用户从未签到

 楼主| 发表于 2016-2-20 15:33:44 | 显示全部楼层
yang 发表于 2016-1-25 15:32
你去参考一下显示相机上下文的设置,我以前遇到过这样的问题。OSG中代码例子在同一个页面中可以显示多个, ...

我找一下资料,谢谢

该用户从未签到

 楼主| 发表于 2016-2-22 10:37:21 | 显示全部楼层
yang 发表于 2016-1-25 15:32
你去参考一下显示相机上下文的设置,我以前遇到过这样的问题。OSG中代码例子在同一个页面中可以显示多个, ...

有个问题想问一下,显示cow.osg的控件,背景颜色的改变应该怎么实现呢?
在我自己的osgQt控件上就是
camera->setClearColor( osg::Vec4(0.5, 0.5, 0.5, 1.0) );
这里可以控制颜色。

我在另一个cpp文件中,调用osgQt::camera->setClearClor(.....);就出现错误

QQ截图20160222103456.png

是不是这个函数用起来,有其他的限制
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表