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"));
}

 

posted on 2022-02-24 11:37  不再低调  阅读(133)  评论(0编辑  收藏  举报