不规则窗体效果——遮罩根据一张图片来设置窗体显示效果。setMask 1234567891011121314151617181920212223242526272829303132333435#include "widget.h"#include "ui_widget.h"#include<QPixmap>#include<QBitmap>#include<QPainter>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); QPixmap pixmap; pixmap.load(":/flower.png"); ui->label->resize(pixmap.size()); this->resize(pixmap.size());//设置窗体大小 //设置遮罩 this->setMask(pixmap.mask());}Widget::~Widget(){ delete ui;}void Widget::paintEvent(QPaintEvent *event){ QPainter painter(this); painter.drawPixmap(0,0,QPixmap(":/flower.png"));}void Widget::mousePressEvent(QMouseEvent *event){ close();}