Настройка внешнего CSS для QWebView с помощью файла ресурсов - PullRequest
2 голосов
/ 15 марта 2012

Я пытаюсь установить внешний CSS для QWebView с помощью:

ui->webView->settings()->setUserStyleSheetUrl( QUrl::fromLocalFile(":/default.css") );

Который содержит только:

body { color: red; }

Но он не работает ни на одной странице (ничего не выделено красным)

Также я дважды проверил:

ui->webView->page()->mainFrame()->toHtml();

Но CSS не применялся.

Ответы [ 2 ]

4 голосов
/ 15 марта 2012

Очевидно, QUrl::fromLocalFile не работает с файлами ресурсов.Проблема и обходной путь обсуждаются в этой ветке форума :

Не только схема qrc (обычно) не связана с каким-либо приложением, но помните, что ресурсы компилируются внутри вашегоисполняемый файл.Каким образом сторонняя программа должна получить к ним доступ?

Обходным путем может быть копирование файла из ресурса во временный файл / каталог и затем использование QUrl :: fromLocalFile + QDesktopServices :: openUrl.

0 голосов
/ 04 сентября 2014

Гораздо более простым решением является использование

ui->webView->settings()->setUserStyleSheetUrl(QUrl("qrc:/filename.css"));
Использование QUrl :: fromLocalFile () вовсе не обязательно, если вы открываете ресурс из самого приложения.Запись его во внешний файл не требуется, если URL не передается во внешнее приложение.
...