view=newQWebView;view->setWindowFlags(Qt::FramelessWindowHint);view->setGeometry(50,50,1024,768);view->settings()->setAttribute(QWebSettings::PluginsEnabled,true);view->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);view->page()->setPluginFactory(newIntelliPlugin);view->load(QUrl("test_2.html"));view->show();
三、下面是test_2.html中JS调用Qt方法:
<object type="application/print-plugin" data="http://www.sohu.com">
</object>
<script type="text/javascript">
function print() {
var s5 = "请耐心等待,过号请到分诊台重新分诊,谢谢合作";
/*调用的Qt中的方法: class ShinePrint::void PrintMessag(QString msg)*/
var printResult = document.getElementById("Callobject").PrintMessag(s5);
if (printResult < 0)
alert("网络出现故障,打印失败,请联系管理员");
}
function JavaAlert() {
alert("这是JavaScript中的函数JavaAlert()被Qt程序调用才会出现的提示");
}
</script>
四、 在Qt中调用JS中的函数:
view->page()->mainFrame()->evaluateJavaScript("JavaAlert();");
源代码下载:
具体下载目录在 /2012年资料/4月/10日/Qt和网页中的JavaScript函数相互调用的实现/