2013-03-30 24 views
0
QObject::connect(webview->page()->mainFrame(), SIGNAL(initialLayoutCompleted()), webview->page()->mainFrame(), SLOT(evaluateJavaScript("alert(); null"))); 

我的代碼可以編譯,但不會發生任何事情。 evaluateJavascript不是問題,因爲我已經在獨立測試並且工作正常。信號既不是問題,因爲我已經完成:如何在QWebFrame中注入Javascript?

QObject::connect(webview->page()->mainFrame(), SIGNAL(initialLayoutCompleted()), webview, SLOT(close()))); 

並且該應用程序已關閉正常。我認爲這個問題與「webview-> page-> mainFrame()」部分有關。

謝謝。

回答

0

evaluateJavaScript("alert(); null")不是插槽的名稱,它是一個完全形成的函數調用。 QObject:connect()失敗,因爲它期望插槽的名稱(包括參數類型)不是函數調用。

您需要在此處提供您自己的插槽功能,在您的類中可能會繼承QWebView。然後把那個evaluateJavascript("...")呼叫放在那個插槽裏面,然後連接SIGNAL(initialLayoutCompleted())

+0

謝謝!有效 – user2047330