【发布时间】:2017-03-03 09:12:06
【问题描述】:
我们已经实现了 QWebView,现在我们想迁移到 QWebEngineView。
通过 QWebView,我们在下面注册了信号以接收有关在 webview 上单击任何链接的通知,并且我们在 QWebView 中收到信号。
connect(m_WebView, SIGNAL(linkClicked(const QUrl &)),SLOT(urlLinkClicked(const QUrl &)));
在“urlLinkClicked”插槽中,我们正在打开新标签页并将该 URL 打开到新标签页中。
我们在使用 QWebEngineView 时遇到了一些问题。由于 QWebEngineView 中不存在“linkClicked”这样的信号。所以我们尝试了以下选项,但仍然无法找到解决方案。
-
在主类中,我们创建了 WebEngineView 类实例并设置了 WebEnginePage。我们能够在视图类中呈现网站,但是当我们点击任何链接时,我们没有收到任何信号,因此我们无法在新标签中打开该新网站。
m_WebEngineView = new QWebEngineView(this); m_WebEngineView->setPage(new QWebEnginePage());我们还重写了“acceptNavigationRequest”方法来获取 mainWebEngineView 中的链接点击事件,但我们无法获取链接点击事件。
有什么建议可以试试?
提前致谢。
【问题讨论】:
标签: c++ qt webkit qtwebengine