您的位置:首页 > 编程语言 > Qt开发

QT:给Widget设置背景图片

2012-03-20 18:34 477 查看
/*
* set background image
*/
QPixmap bgImages(":/images/bg.png");
QPalette bgPalette = this->palette();
bgPalette.setBrush(QPalette::Background,bgImages);
this->setPalette(bgPalette);

setMask(bgImages.mask());// set background mask attribute same as background's image


先上代码,这里作说明。

1)将该段代码放在需要设置背景图片的构造函数中 2)需要包含头文件 #include <QPixmap> #include <QPalette> #include <QBitmap> 3)逻辑: 首先构造一个QPixmap对象,可以认为是一个位图。 然后将该Widget的调色板palette取出来放在bgPalette里面 修改调色板,用Brush将我们刚才创建的图片刷到调色板上去 最后重置Widget的调色板

4)注意: 如果背景图片是png等含有透明部分的图片,还要用setMask()函数将背景的掩码设置成和图片一样的,方可显示透明色。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: