設(shè)置窗體QWidget半透明背景
首先前提條件是設(shè)置:
setAttribute(Qt::WA_TranslucentBackground);
方法一:重寫QPaintEvent
void TestWidget::paintEvent(QPaintEvent *event)
{
QPainter dousePainter(this);
dousePainter.setBrush(QBrush(QColor(0,0, 0, 100)));
dousePainter.drawRect(this->rect());
}
方法二:自定義qss樣式
background-color: rgba(252,252,252,70%);//70%為透明度
方法三:使用QGraphicsOpacityEffect ,不過這種方法會影響子控件的透明度文章來源:http://www.zghlxwxcb.cn/news/detail-608451.html
QGraphicsOpacityEffect *opacity=new QGraphicsOpacityEffect;
ui->widget->setGraphicsEffect(opacity);
opacity->setOpacity(0.35);
效果參考如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-608451.html
到了這里,關(guān)于Qt:QWidget設(shè)置半透明背景的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!