QT—设置控件透明背景

  • Post author:
  • Post category:其他


1.对于继承于QWidget的控件或是窗口,将整个控件当做图形元素,对该图形元素进行设置透明度效果:

#include <QGraphicsOpacityEffect>

QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
ui.label->setGraphicsEffect(opacityEffect);
opacityEffect->setOpacity(0.7);//设置透明度

2.使用颜色中的透明度值设置:rgba(200, 170, 0)最后一位表示透明度

QWidget *p= new QWidget;  
p->setAutoFillBackground(true);  
    
QPalette palette;  
palette.setColor(QPalette::Background, QColor(192,253,123,100)); // 最后一项为透明度   
p->setPalette(palette);  

3.通过设置setStyleSheet

setStyleSheet("background:transparent; border - width:0; border - style:outset");



版权声明:本文为u013345672原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。