4

QWebView で QAction の signal trigger() を 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

何か問題でもありますか?

4

0 に答える 0