首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

Qt里面怎么绘制透明图,镂空图之类的

发布网友

我来回答

1个回答

热心网友

1.this->setWindowOpacity(0.7);//全体透明(指的是窗体,标题栏以及上面所有的控件都透明)里面的参数可以控制透明度。
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);//去掉标题栏

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com