使用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));
}