qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)

1,父窗口透明
// 设置背景图片

QPalette pa;
setAutoFillBackground(true);
pa.setBrush(QPalette::Background,QBrush(QPixmap("image/cloud.jpg")));
setPalette(pa);

//设置控制透明度
setWindowOpacity (0.7); // 半透明

2、控件透明

setAutoFillBackground(false);
setWindowFlags(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground, true);
然后重载paintEvent
用个带透明度的画刷填充就好了

 

http://blog.163.com/wangsh_ll/blog/static/1934961732015212115138520/

posted @ 2017-08-01 20:49  findumars  Views(3307)  Comments(0Edit  收藏  举报