查看: 6265|回复: 7

在osgWidget上浮动qt控件,如何做到透明?

[复制链接]

该用户从未签到

发表于 2014-1-18 23:32:16 | 显示全部楼层 |阅读模式
在osgWidget上添加qt控件(QWidget,QLabel等),如何让QWidget、QLabel等背景透明,让控件悬浮在osgWidget上边,现在在osgWidget上边有整个控件大小的黑框,求各位大神解答,Qt4.7.2 + OpenSceneGraph3.0.0

该用户从未签到

发表于 2014-2-11 10:10:33 | 显示全部楼层
和qml没有什么直接关系,如果您用的是osgQt,那么设置控件窗口的background为透明图或者颜色即可,可以用setStyleSheet

该用户从未签到

发表于 2014-1-19 01:04:19 | 显示全部楼层
可以试一下使用QML

该用户从未签到

发表于 2014-4-20 10:32:45 | 显示全部楼层
本帖最后由 victording 于 2014-4-20 10:37 编辑
array 发表于 2014-2-11 10:10
和qml没有什么直接关系,如果您用的是osgQt,那么设置控件窗口的background为透明图或者颜色即可,可以用se ...


设置QWidget或QDialog的背景半透明,可以这样做:
1) 在构造函数里:setWindowFlags(Qt::FramelessWindowHint);            setAttribute(Qt::WA_TranslucentBackground);
2)setStyleSheet 里设置
   QWidget
  {
      background:rgba(45,45,45,210);
   }

以上方法只在一般背景下半透明,而要在Osg三维场景上半透明,做不到。不知道这是为什么?另外经过测试如果把QWidget弄成顶层即pWidget->setParent(NULL),是可以在三维上半透明的,如果作此Widget有父则不可以。怎么解决这个问题???


见下图,基于Qt的demo,左边的那个窗口继承自QWidget右边的继承自QGLWidget,半透明窗口是MainWindow的子,左边透明而右边不透明。
QQ截图20140420103446.png

该用户从未签到

发表于 2014-5-16 14:01:28 | 显示全部楼层
victording 发表于 2014-4-20 10:32
设置QWidget或QDialog的背景半透明,可以这样做:
1) 在构造函数里:setWindowFlags(Qt::FramelessWi ...

遇到相同的问题,同问啊,有人知道不

该用户从未签到

发表于 2015-6-12 13:24:11 | 显示全部楼层
victording 发表于 2014-4-20 10:32
设置QWidget或QDialog的背景半透明,可以这样做:
1) 在构造函数里:setWindowFlags(Qt::FramelessWi ...

你好 请问下您是如何在osgWidget上添加qt控件的?希望给予指导,思路或者方法也行,感谢啦

该用户从未签到

发表于 2015-6-16 16:57:54 | 显示全部楼层
本帖最后由 victording 于 2015-6-16 16:59 编辑
天雷 发表于 2015-6-12 13:24
你好 请问下您是如何在osgWidget上添加qt控件的?希望给予指导,思路或者方法也行,感谢啦


同问!

该用户从未签到

发表于 2016-1-20 09:58:16 | 显示全部楼层
array 发表于 2014-2-11 10:10
和qml没有什么直接关系,如果您用的是osgQt,那么设置控件窗口的background为透明图或者颜色即可,可以用se ...

王老师,我遇到一个问题,就是写了一个可以显示osg内容的qt控件(是qwidget类型)(这是借鉴了拟推荐的那个文章,网格显示四个osg内容的那篇文章),现在想把这个控件放在一个tab里面显示出来,把qwidget放在一个qhboxlayout(qhboxlayout->addwidget(qwidget))里面,再用qtabwidget->setLayout(qhboxlayout),可以显示。
可是,我需要添加几个页面,所以想把这个layout放在一个qwidget里面,在用addtab()来添加,可是就显示不出来了。
MHCAF5YATU([Q]VQZ[9PV@R.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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