2013-10-03 93 views
2

我是Qt新手,遇到一些問題!使用QtCreator,我創建了一個簡單的窗口,我現在試圖設置背景圖片。Qt:使用樣式表設置背景圖片不適用於資源

搜索周圍使我相信我應該使用QT樣式表,並試圖一些例子我得到了一個背景圖片,通過使用工作後:

this->setStyleSheet(" background-image: url(C:/test.jpg)"); 

在主圖像的構造。然而,這個URL參考顯然很糟糕,所以我嘗試使用資源。我的QRC看起來是這樣的:

<RCC> 
    <qresource prefix="/images"> 
     <file alias="background.jpg">image2.jpg</file> 
    </qresource> 
</RCC> 

現在嘗試設置樣式與

this->setStyleSheet(" background-image: url(:/images/image2.jpg)"); 

this->setStyleSheet("background-image: url(:/background.jpg)"); 

或兩者的任何組合都不行!

一個奇怪的事情我沒有發現的是,當我去到設計窗口,然後轉到屬性窗口,並設置主窗口的樣式表

background-image: url(:/images/image2.jpg) 

它實際上在設計預覽顯示背景圖片!但只要我啓動應用程序,背景圖像就消失了!

任何人都可以解釋爲什麼我有這些問題?謝謝!

+0

這可能是一個插件問題。您可以嘗試將圖像從'.jpg'格式更改爲'.png'格式,然後查看是否有效。此外[看到這個答案](http://stackoverflow.com/questions/18061173/qt-icons-from-resource-file-do-not-display/18073627#18073627)。 – thuga

+1

試試':/ images/background.jpg'。 –

+0

我試過兩種都沒有工作:(編輯:和我沒有安裝任何插件! –

回答

2

我認爲你所需要做的就是在引號內添加一個分號。

this->setStyleSheet(" background-image: url(C:/test.jpg);");