QObject::connect(webview->page()->mainFrame(), SIGNAL(initialLayoutCompleted()), webview->page()->mainFrame(), SLOT(evaluateJavaScript("alert(); null")));
我的代码可以编译,但后来什么也没发生。 evaluateJavascript不是问题,因为我已经在独立测试,它工作正常。信号既不是问题,因为我已经完成了:
QObject::connect(webview->page()->mainFrame(), SIGNAL(initialLayoutCompleted()), webview, SLOT(close())));
该应用已正确关闭。我认为这个问题与“webview-> page-> mainFrame()”部分有关。
感谢。
答案 0 :(得分:0)
evaluateJavaScript("alert(); null")
不是插槽的名称,它是一个完全形成的函数调用。 QObject:connect()
失败,因为它需要插槽的名称,包括参数类型,而不是函数调用。
你需要在你的类中提供你自己的插槽函数,可能继承QWebView。然后将evaluateJavascript("...")
调用放在该插槽中,并将SIGNAL(initialLayoutCompleted())
连接到该插槽。