洋凤仙
QT窗体控件的透明度设置(三种⽅法)
1. 整个窗体
当设置QT的窗体(QMainWindow, QDialog)时,直接⽤
[cpp]
1. targetForm->tWindowOpacity()
函数即可实现,效果为窗体及窗体内所有控件都透明化了。
⼆、⾃定义页⾯或控件
当设置⼀个QWidget(⼀般⾃定义页⾯或控件时⽤QWidget)时,直接设置其窗体透明度⽆法实现透明效果,⽬前找到的⽅法是将整个QWidget 当做图形元素,对该图形元素进⾏设置透明度效果,
[cpp]
1. QGraphicsOpacityEffect *opacityEffect=new QGraphicsOpacityEffect;
2. targetElement->tGraphicsEffect(opacityEffect);
3. opacityEffect->tOpacity(0.7);秋天是什么样子
这样处理后就能实现透明化效果。
三、⽤颜⾊中的透明度值设置抵制诱惑
如果需要将⾃⼰画的形状,控件背景,边框,⽂字等可以⽤颜⾊上⾊的地⽅进⾏透明化,只需要将该部位的颜⾊设置⼀个透明度即可。
[cpp]
1. // 画⼀个半透明圆⾓矩形
2. QPainter *painter = new QPainter(this);
3. painter->tPen(Qt::NoPen);
菊花英语4. painter->tBrush(QColor(0,170,255,100)); // 最后⼀项为透明度
5. painter->tOpacity(0.6);
6. painter->drawRoundRect(0,0,100,100,10,10);// 画圆⾓矩形教师节送花
[cpp]
1. // 设置某控件的背景颜⾊为半透明
2. QWidget *widget = new QWidget;// QWidget可以是任意QWidget派⽣的控件
3. widget->tAutoFillBackground(true);婚姻线图解
4.
材料进场验收单
5. QPalette palette;
6. palette.tColor(QPalette::Background, QColor(192,253,123,100)); // 最后⼀项为透明度
7. //palette.tBrush(QPalette::Background, QBrush(QPixmap(":/background.png")));
8. widget>tPalette(palette);
9.
10. // 如果背景图⽚需要透明化,直接⽤⼀张半透明的png图⽚做背景或者⽤⽅法⼆将整个控件都半透明化。
这种⽤法⼀般⽤于需要设置透明的位置不多时才这样处理,如果⾃绘内容⽐较复杂,还是直接设置整体的透明度效果⽐较简单。
>冰淇淋英语怎么写