osg与qt结合的一个问题
1.借鉴网上的一个写osg与qt的文档//在这个控件的构造函数里,把widget用tab显示
osgQtWidget::osgQtWidget(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就显示不出来了
这个问题应该怎么解决呢,各位大神,请指教 有没有大神来指点一下,可以加扣扣,861045644,是不是说的清楚一些 tab控件的这个显示sog的页面,大家应该也遇到过这样的问题吧,谁给我解答一下吧 你去参考一下显示相机上下文的设置,我以前遇到过这样的问题。OSG中代码例子在同一个页面中可以显示多个,但是遇到类似TabWidget的控件时,会遇到你说的这样的问题。 yang 发表于 2016-1-25 15:32
你去参考一下显示相机上下文的设置,我以前遇到过这样的问题。OSG中代码例子在同一个页面中可以显示多个, ...
我找一下资料,谢谢 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(.....);就出现错误
是不是这个函数用起来,有其他的限制
页:
[1]