1. setMask():为窗体设置遮罩,实现不规则窗体,参数可为QBitmap对象或QRegion对象。设置遮罩后的窗体尺寸仍是原窗体大小,只是被遮罩的地方不可见
QPixmap pix = QPixmap();
pix.load("16.png", 0, Qt::AvoidDither | Qt::ThresholdDither | Qt::ThresholdAlphaDither); //设置的flags为避免图片抖动方式
resize(pix.size());
setMask(QBitmap(pix.mask())); //pix.mask(): 获取图片自身的遮罩
2. paintEvent() :重绘函数,主要完成窗体上绘制图片的工作
void paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawPixmap(0, 0, QPixmap("16.png"));
}