在已交出句柄的QWidget上叠加透明形状

来源:互联网 发布:java游戏开发引擎 编辑:程序博客网 时间:2024/04/29 15:18

周五遇到一个问题:

QT上有三层widget,W1在底层,W2中间,W3在顶层。W2的句柄被交给别的接口管理用于播放视频流。期望在W2上叠加透明层W3,绘制一些不填充的矩形用于标出W2视频的某些内容。问题是W2的句柄被交给的别人,所以如果将W3的父设为W2,则矩形根本无法显示,直接被W2的视频流覆盖;如果将W3的父设为W1,则透明部分显示底层的W1底色而不是中间层的W2视频。

纠结了整整半天时间,没搞定,结果晚上做了个梦,居然想出了一个很Ulgy的方法解决了:既然设置透明达不到效果,那就不设备透明,将W3用4个控件来代替,每个控件画矩形的一条边。

今天试验了一下,成功了。

原创粉丝点击