标题:QOpenGLWidget 如何设置背景透明?
作者:ghldh94
日期:2019-07-17 18:02
内容:
我按照官方的2dpainting的示例,用QOpenGLWidget 来绘制一个圆形的2D图像(图就是圆形的,其它背景透明)。paintEvent没有问题,不过黑色背景也一同出来了。
原来在QWidget 下可以设置背景透明的的几种方式(setPalette,setCompositionMode,setStyleSheet,setAttribute(Qt::WA_TranslucentBackground, true);)都不能使背景透明。请问有什么办法让除了圆形图像外的区域透明吗(就是背景透明啦)?
#1 [笑颜 07-17 20:07]
setMask 你了解一下
#2 [naturalbest 07-17 20:19]
遇到过同样的问题,试了半天没搞成,最后只能用窗口透明的办法。window下用的是SetLayeredWindowAttributes这个函数,其他平台就不清楚了。
#3 回 naturalbest 的帖子 [ghldh94 07-18 09:47]
naturalbest:遇到过同样的问题,试了半天没搞成,最后只能用窗口透明的办法。window下用的是SetLayeredWindowAttributes这个函数,其他平台就不清楚了。 (2019-07-17 20:19)
这个是MFC的函数吧? 但我是Qt程序
#4 回 笑颜 的帖子 [ghldh94 07-18 09:48]
笑颜:setMask 你了解一下 (2019-07-17 20:07)
setMask在Qopenglwidget上试了也无效的
#5 回 ghldh94 的帖子 [笑颜 07-18 14:35]
ghldh94:setMask在Qopenglwidget 上试了也无效的 (2019-07-18 09:48)
我昨天试了一下的,QOpenGLWidget也可以裁剪成异形的窗口,如果你不行,多半是用法不对