Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QWebFrame::evaluateJavaScript与HTML中的脚本标记_Qt_Pyqt4_Qtwebkit - Fatal编程技术网

Qt QWebFrame::evaluateJavaScript与HTML中的脚本标记

Qt QWebFrame::evaluateJavaScript与HTML中的脚本标记,qt,pyqt4,qtwebkit,Qt,Pyqt4,Qtwebkit,我想开发一个使用QtWebKit和JQuery的应用程序 我需要知道的是,从文件中读取JQuery并对其进行评估,或者将其作为脚本标记嵌入到小部件中显示的“页面”中,两者之间有什么区别吗 编辑:看来我至少部分地解决了这个问题。evaluateJavaScript显然工作可靠;但如果我这样做了 baseurl = QUrl.fromLocalFile( QDir.current().absoluteFilePath("doesntexist.html")); view.setHtml( u

我想开发一个使用QtWebKit和JQuery的应用程序

我需要知道的是,从文件中读取JQuery并对其进行评估,或者将其作为脚本标记嵌入到小部件中显示的“页面”中,两者之间有什么区别吗

编辑:看来我至少部分地解决了这个问题。evaluateJavaScript显然工作可靠;但如果我这样做了

baseurl = QUrl.fromLocalFile(
  QDir.current().absoluteFilePath("doesntexist.html"));
view.setHtml(
  u"""
    <html>
      <head>
        <script type="text/javascript" 
          src="jquery-1.4.2.js">
        </script>
      </head>
      <body></body>
    </html>""", baseurl);

我还尝试将script src参数更改为硬盘上的绝对路径,以及前面有“/”和没有“/”的相对路径

如何正确地(除了Qt资源系统之外)使脚本标记与本地js文件一起工作?这仅仅是缺乏文档记录,还是我遗漏了什么

您可以使用,并将html修改为如下内容

<script type="text/javascript" 
      src=":/jquery-1.4.2.js">
我想使用资源系统更好。

您可以使用,并将html修改为类似这样的内容

<script type="text/javascript" 
      src=":/jquery-1.4.2.js">
我想使用资源系统更好。

阅读我的问题——我特别要求一种“除了Qt资源系统”的方法。阅读我的问题——我特别要求一种“除了Qt资源系统”的方法。
<script type="text/javascript" 
      src=":/jquery-1.4.2.js">
connect(view, SIGNAL(loadFinished(bool)), this, SLOT(loadJQuery()));

...

void MainWindow::loadJQuery()
{
  QFile file("jquery-1.4.2.js");
  file.open(QFile::ReadOnly);
  view->page()->mainFrame()->evaluateJavaScript(file.readAll());
}