Да, вы можете.
Просто добавьте свой JS / CSS в файл ресурсов (посмотрите документацию Qt, если вы не знаете, как), а затем в своем HTML просто используйте qrc:/file/path/or/alias
.
Например, если я добавлю JQuery в файл ресурсов с псевдонимом /js/jquery
, то для его загрузки я помещу это в мой HTML-файл:
<script type="text/javascript" src="qrc:/js/jquery"></script>
Загрузка HTMLфайл из файла ресурсов, кажется, требует больше усилий, так как я не могу заставить QWebKit::setUrl(QUrl("qrc:/resource/path"))
работать («: / resource / path» у меня тоже не работает).Что я сейчас делаю, так это:
QString readFile (const QString& filename)
{
QFile file(filename);
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream stream(&file);
return stream.readAll();
}
return "";
}
...
myWebKitObject->setHtml(readFile("qrc:/html/index"));
Создание ссылок на другие HTML-ресурсы может быть проблемой.Если кто-нибудь знает, как с этим бороться, пожалуйста, прокомментируйте!(Я полагаю, вы можете сделать это, переопределив класс сетевого менеджера для перехвата, когда webkit отправляет http-запросы и, если они для qrc: / urls, считывают файл из системы ресурсов и отвечают этим, хотя тогда вам нужно управлять типами mimeи такие (например, если ресурс представляет собой изображение) сами ...)