QT:给Widget设置背景图片


1 /*
2 * set background image
3 */
4 QPixmap bgImages(":/images/bg.png");
5 QPalette bgPalette = this->palette();
6 bgPalette.setBrush(QPalette::Background,bgImages);
7 this->setPalette(bgPalette);
8
9 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()函数将背景的掩码设置成和图片一样的,方可显示透明色。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM