我正在用PyQt製作Twitter客戶端,它使用WebKit繪製推文列表。現在我試圖使用CSS在WebKit小部件中設置背景圖像 - 但圖像不會顯示出來。這是CSS的相關部分:PyQt WebKit CSS背景圖片不顯示
body
{
background-image: url("gradient2.jpg");
}
文件名拼寫正確,並位於同一目錄下的Python程序,這也是在那裏我開始從(所以圖像文件的程序應該在PWD中)。
要檢查WebKit是否以某種方式在錯誤的目錄中查找圖像,我通過strace運行程序,該程序會創建程序所有系統調用的日誌。令人驚訝的是,圖像的名稱沒有出現在日誌中 - 所以看起來好像WebKit甚至沒有嘗試找到它。
要驗證我的CSS全部由WebKit的使用時,我試圖將其更改爲一個堅實的背景色而不是圖像:
body
{
background: #CCFFCC;
}
這工作。所以我知道使用了CSS,這不是問題。
難道WebKit拒絕在文件系統中使用「普通」文件,並且我不知何故必須在Qt Designer中創建某種包含我的圖像的「資源」文件?
我用雙引號,單引號,沒有引號,包括嘗試了「背景」,沒有它。另外,CSS在python源代碼中,我沒有使用單獨的CSS文件(我無法讓它工作,但是我不知道)。就好像更基本的東西是錯誤的。就像我在問題中所說的那樣,根據strace日誌,它看起來像甚至不想*打開圖像文件。 – Enfors 2010-04-08 20:51:01
如果你給它一個絕對的url會發生什麼? – graphicdivine 2010-04-08 21:10:12
用雙引號和絕對路徑,它*工作* - 令我非常驚訝。問題解決了,謝謝!但爲什麼strace日誌早些時候表明它甚至沒有在查找文件? 啊。我想我現在明白了。如果我沒有記錯,strace不會默認跟蹤子進程 - 它可能是打開文件的人之一。 – Enfors 2010-04-08 21:34:02