QT制作不规则窗体
现在窗体的构造函数中写:
QPixmap pix; //设置一个QPixmap的对象。
pix.load("searchFunction/bg_s.png",0,Qt::AvoidDither|Qt::ThresholdDither|Qt::ThresholdAlphaDither);
resize(pix.size()); //设置窗口的尺寸为图片的尺寸
setMask(pix.mask()); //先通过pix的方法获得图片的过滤掉透明的部分得到的图片,作为shapeWidget的不规则边框。
setWindowOpacity(0.8); //设置图片透明度
然后在paintEvent(QPaintEvent*)中写:
void ***::paintEvent(QPaintEvent*)
{
QPainterpainter(this);//创建一个QPainter对象
painter.drawPixmap(0,0,QPixmap(":/bg_xl.png"));//绘制图片到窗口
}
看一下效果图:
看起来是透明的,只显示了图片的大小。