首页 > 个性签名 正文
【qq空间透明素材】Qt中的多种透明度效果(三种方法:调色板、透明度属性、自绘制)

时间:2023-02-12 10:51:58 阅读: 评论: 作者:佚名

1.窗口完全透明,但表单上的控件不透明。

设定表单的背景颜色,将背景颜色设定为完全透明。

1 q palette pal=palette();

2 (qpalette:3360 background,qcolor (0x00、0xff、0x00、0x 00));

3 set palette(pal);实验效果:

表格标题栏不透明。

表单客户区域中的控件不透明,QLabel控件只是单词显示,控件背景色是透明的。

表单客户区域是完全透明的。

另外,在网上看的方法:

set attribute(Qt :3360 wa _ translucent background,true);实验结果和上面的方法差不多,但有时表格会填满一些杂色斑点,找不到原因。

2.窗口和窗口上的控件是半透明的。

SetWindowOpacity)测试效果:窗口和控件半透明。

3.整个窗口不透明,部分透明。

在Paint事件中使用“清除”模式绘制。

1 void test window :3360 paint event(qpa intevent *)

2 {

3 QPainter p(this):

4p . setcompositionmode(qpainter :3360 composition mode _ clear);

5p.fillrect (10,10,300,300、Qt :3360 solid pattern);

6}测试效果:绘图区域完全透明。如果绘图区域中有控制柄,则控制柄不受影响。

以上实验均为基于Directfb的Qte测试。在Linux和Windows上,效果可能略有不同。

例如,在Windows的第三个实验中,如果绘图区域是黑洞,Window本身是半透明的,则Windows下面的内容加上半透明效果,而不是完全透明效果。

  • 评论列表

发表评论: