使用Qt创建透明盒不规则窗口的方法:
首先设置窗口透明度属性和无标题窗口,然后设置图片A,并设置它的掩码,使用画图事件
,将图片画到窗口上。代码如下。
this->setWindowFlags(Qt::FramelessWindowHint);//设置窗体无边框
this->setAttribute(Qt::WA_TranslucentBackground);//设置背景透明
this->picStart = ":/new/prefix1/white.png";
QPixmap pix;
bool p=pix.load(picStart);//,0,Qt::AvoidDither|Qt::ThresholdAlphaDither);
this->move(x,y);
this->resize(pix.size());
setMask(pix.mask());
画图函数:
void StartWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(0,0,QPixmap(picStart));
}
本文介绍如何使用Qt创建具有透明背景及不规则形状的窗口。通过设置窗口标志、背景透明属性并利用图片掩码,实现窗口的透明效果。此外,还提供了一个画图事件的示例代码,用于将指定图片绘制到窗口上。
109

被折叠的 条评论
为什么被折叠?



