QWebView调用Javascript函数

QWebView调用Javascript函数,javascript,qt,user-interface,webview,Javascript,Qt,User Interface,Webview,我尝试将QAction的signal triggered()与QWebView中的JS函数连接起来。 所以,我的代码: ... QWebView *webView = new QWebView; QAction *buttonAction = new QAction; webView->load(QUrl(":/example.html"); ... connect(buttonAction, SIGNAL(triggered()), this, SLOT(aler

我尝试将QAction的signal triggered()与QWebView中的JS函数连接起来。 所以,我的代码:

...      
QWebView *webView = new QWebView;   
QAction *buttonAction = new QAction;
webView->load(QUrl(":/example.html");
...   
connect(buttonAction, SIGNAL(triggered()), this, SLOT(alert()));  
...
插槽功能:

void MainWindow::alert()
{
   webView->page()->mainFrame()->evaluateJavaScript(QString("myFunction();"));
}
在example.html中:

<script type="text/javascript">
    function myFunction()
    {
       alert("I am an alert box!");
    }
</script>

发生了什么事?

QAction与什么有关?仅使用QMessageBox::信息更新主窗口中的警报槽(此“测试”、“测试”);看看坠机事件是否仍在发生。您还可以在JavaScript函数调用中删除分号。您可以将其设置为webView->page()->mainFrame()->evaluateJavaScript(“myFunction()”)@带有QMessageBox按钮的Viv工作正常,没有崩溃。在JS函数调用中删除分号并没有帮助。我认为,崩溃与“QWaitCondition:在线程仍在等待时销毁”联系在一起。但我不知道如何修复它。
QWaitCondition: Destroyed while threads are still waiting