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