是否有可能在 WebEngineView 中获得 url 的点击 link?
Is it possible to get url of clicked link in WebEngineView?
我注意到在 Qt 5.4 版本中,WebView 有一个名为 navigationRequired 的信号,它在参数中有一个点击的 URL。在新的WebView和WebEngineView中,没有这个信号。我也没有找到任何替代品。
有什么方法可以在 Qt 5.6 中点击 link 的 URL 吗?
重新实现 QWebEnginePage
的方法 acceptNavigationRequest
:
class MyQWebEnginePage : public QWebEnginePage
{
Q_OBJECT
public:
MyQWebEnginePage(QObject* parent = 0) : QWebEnginePage(parent){}
bool acceptNavigationRequest(const QUrl & url, QWebEnginePage::NavigationType type, bool)
{
if (type == QWebEnginePage::NavigationTypeLinkClicked)
{
// retrieve the url here
return false;
}
return true;
}
};
我注意到在 Qt 5.4 版本中,WebView 有一个名为 navigationRequired 的信号,它在参数中有一个点击的 URL。在新的WebView和WebEngineView中,没有这个信号。我也没有找到任何替代品。
有什么方法可以在 Qt 5.6 中点击 link 的 URL 吗?
重新实现 QWebEnginePage
的方法 acceptNavigationRequest
:
class MyQWebEnginePage : public QWebEnginePage
{
Q_OBJECT
public:
MyQWebEnginePage(QObject* parent = 0) : QWebEnginePage(parent){}
bool acceptNavigationRequest(const QUrl & url, QWebEnginePage::NavigationType type, bool)
{
if (type == QWebEnginePage::NavigationTypeLinkClicked)
{
// retrieve the url here
return false;
}
return true;
}
};