第一种方法: ui->widget->setAutoFillBackground(true);
QPalette palette;
palette.setColor(QPalette::Background, QColor(0,0,0,150)); // 最后一项为透明度
//palette.setBrush(QPalette::Background, QBrush(QPixmap(":/background.png")));
ui->widget->setPalette(palette);
第二种方法(推荐):
this->setWindowFlags(Qt::FramelessWindowHint);//无标题栏
setAttribute(Qt::WA_TranslucentBackground,true); //设置背景透明
记住在主widget上多加一个widget打底。