2.窗口整體透明,但是窗體上的控件不透明。
通過設置窗體的
背景色
來實現,將背景色設置為全透:
代碼如下:
[cpp]
view
plain
copy
print?
<span
style="font-size:14px;">
pal
=
palette();
pal.setColor(QPalette::background,
QColor(0x00,0xff,0x00,0x00));
setPalette
(pal);</span>
3.窗體標題欄不透明,背景透明。(本例中用到的)
this->setAttribute(Qt::WA_TranslucentBackground,true);
4.窗口整體不透明,局部透明:在Paint事件中使用Clear模式繪圖。
[cpp]
view
plain
copy
print?
<span
style="font-size:14px;">void
mainwindow::paintEvent(
QPaintEvent*
)
{
QPainter
p(this);
p.setCompositionMode(
QPainter::CompositionMode_Clear
);
p.fillRect(
30,
30,
300,
300,
Qt::SolidPattern
);
}
</span>
繪制區域全透明,如果繪制區域有控件不會影響控件的透明。
5.這裏說壹下本程序中怎樣去掉標題欄
this->setWindowFlags(Qt::FramelessWindowHint);//去掉標題欄