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"));//绘制图片到窗口
}

看一下效果图:

看起来是透明的,只显示了图片的大小。


posted on 2013-03-28 16:26  Q11三工鸟yue  阅读(312)  评论(0编辑  收藏  举报