CSS фоновое изображение PyQt WebKit не отображается - PullRequest
1 голос
/ 08 апреля 2010

Я создаю Twitter-клиент с PyQt, который использует WebKit для рисования списка твитов. Сейчас я пытаюсь использовать CSS для установки фонового изображения в виджете WebKit - но изображение не будет отображаться. Это соответствующая часть CSS:

body                                                                            
{                                                                               
  background-image: url("gradient2.jpg");                                         
}

Имя файла написано правильно, и оно находится в том же каталоге, что и программа Python, откуда я и запускаю программу (поэтому файл изображения должен быть в формате PWD).

Чтобы проверить, ищет ли WebKit изображение в неправильном каталоге, я запустил программу через strace, которая создает журнал всех системных вызовов, выполненных этой программой. И, что удивительно, имя изображения не появляется в журнале, поэтому кажется, что WebKit даже не пытается его найти.

Чтобы убедиться, что мой CSS вообще используется в WebKit, я попытался заменить его на сплошной цвет фона вместо изображения:

body                                                                            
{                                                                               
  background: #CCFFCC;                                         
}

И это работает. Так что я знаю, что CSS используется, это не проблема.

Может ли быть так, что WebKit отказывается использовать «обычные» файлы в файловой системе, и что мне каким-то образом нужно создать какой-то «ресурсный» файл, содержащий мое изображение, в Qt Designer?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2010

Попробуйте удалить цитаты. Также имейте в виду, что если вы объявите сокращенное правило «background:» после правила «backround-image:», background-image будет перезаписано. Кроме того, путь к файлу должен быть относительно файла CSS, а не исходного файла.

0 голосов
/ 13 июня 2010

вы можете использовать фоновое изображение следующим образом:

body                                                                            
{                                                                               
  background-image: url("qrc:///gradient2.jpg");                                         
}
...