首页| 论坛| 消息

标题: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也可以裁剪成异形的窗口,如果你不行,多半是用法不对

回复 发表
主题 版块