我尝试将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>
因此,应用程序开始正常,但是当我按下按钮时,应用程序会出错,而不是显示警报。另外,调试中有消息:
QWaitCondition: Destroyed while threads are still waiting
怎么回事?