Multithreading QWebFrame::evaluateJavaScript(scriptSource)导致;SyntaxError:解析错误“;当不在主线程中执行时
当我从主线程运行Multithreading QWebFrame::evaluateJavaScript(scriptSource)导致;SyntaxError:解析错误“;当不在主线程中执行时,multithreading,qt,webkit,qtwebkit,qwebkit,Multithreading,Qt,Webkit,Qtwebkit,Qwebkit,当我从主线程运行QWebFrame::evaluateJavaScript(scriptSource)时,一切似乎都很正常。但是当我尝试从另一个线程运行它时,我得到一个语法错误:Parse error。即使当我试图运行像1+1 有人能解释为什么会发生这种情况,以及这是否是预期的行为吗 是否有可能在另一个线程中使用QWebKit,然后在主线程中使用 注:我正在运行Qt4.8,我对QWebFrame或QT不太了解,但以下内容应该是正确的 简单来说,它的GUI应用程序和所有操作都必须在主线程中完成。如
QWebFrame::evaluateJavaScript(scriptSource)
时,一切似乎都很正常。但是当我尝试从另一个线程运行它时,我得到一个语法错误:Parse error
。即使当我试图运行像1+1代码>
有人能解释为什么会发生这种情况,以及这是否是预期的行为吗
是否有可能在另一个线程中使用QWebKit,然后在主线程中使用
注:我正在运行Qt4.8,我对QWebFrame或QT不太了解,但以下内容应该是正确的
简单来说,它的GUI应用程序和所有操作都必须在主线程中完成。如果您有多个线程,那么您必须找到一种方法将调用传递到您的案例中的主gui循环线程或主线程
主要原因之一是应用程序可能在内部使用的线程本地存储。如果从其他线程执行该函数,则可能不会设置本地存储
对于GTK调用,大多数(所有?)webkit调用必须通过GTK idle钩子进行引导,以便在适当的线程中执行。QT中应该有一些等价的东西