Qt setStyleSheet 添加背景色/背景圖片(取消背景色,讀取本地文件作為背景色)


容易搞定,mainWindow 是一個QWidget。
// 設置背景色為藍色
mainWindow.setStyleSheet("background-color:blue;");

// 設置背景圖片為bg.png
mainWindow.setObjectName("mainWindow");
mainWindow.setStyleSheet("#mainWindow{border-image:url(:/image/bg.png);}");

這里要注意,ObjectName 並非可有可無,如果不使用它會導致該widget 的所有子控件也會有相同的背景。不使用"background-image"的理由是"border-image"可以自動填充。

如果想恢復默認背景,可以調用
mainWindow.setStyleSheet(0);

:/image/bg.png 前面有冒號說明它是qrc 中定義的資源;順便說一下如何添加和編輯qrc 文件。
在工程上右鍵點擊“Add New...”,然后 => "Qt" => "Qt Resource File" ,隨便起個名字 => "Next" => "Finish",添加qrc 文件完畢。
接下來添加圖片資源,選中剛才添加的qrc 文件,"Add Prefix",建議把"Prefix" 設為"/";然后"Add Files",把圖片添加到資源文件中。

當然,也可以從磁盤上直接載入圖片。與使用資源文件中定義的圖片相比,時間開銷大,但空間開銷小,同時也更靈活一些,例如顯示下載的圖片。
mainWindow.setObjectName("mainWindow");
mainWindow.setStyleSheet("#mainWindow{border-image:url(c:/downloads/myapp/image/bg.png);}");

http://blog.csdn.net/itjobtxq/article/details/9284415


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM