是否可以嵌入HTML与JS成QwebKit
题
将我需要加载Java脚本对象到QwebKit当我加载应用程序点击 我可以使用setHtml与HTML和格式化的Java脚本字符串,但它很难 维护。结果 我的问题是,我可以嵌入HTML和Java脚本资源到Qwebkit?点击 此外,我不说什么的HTML和JavaScript是提供给应用程序的用户。
解决方案
是,你能。
只需将您的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"))
工作(“:/资源/路径”不为我工作要么)。我现在做的是这样的:
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资源可能是一个问题,虽然。如果有人知道如何解决这个问题,请评论! (我想你可以通过重新实现网络managerclass拦截做到这一点时,WebKit的发送HTTP请求,如果他们的QRC:/网址,请从资源系统响应与该文件,但那么你必须要管理MIME类型和这样的(例如,如果资源是图像)自己...)
不隶属于 StackOverflow