Qt如何获取发送者信号的发送者或如何知道QWebEngineView的loadStarted url?

问题描述 投票:0回答:1

QWebEngineView具有信号void loadStarted()。它从QWebEnginePage收到时会发出此信号。 QWebEnginePage从QWebEnginePagePrivate覆盖此函数,其中它是void loadStarted(const QUrl&provisionalUrl,bool isErrorPage = false),但在QWebEnginePage类参数中,参数provisionalUrl标记为Q_UNUSED(),但我想知道它的值。我该怎么做?

c++ qt signals-slots qwebengineview qwebenginepage
1个回答
0
投票

如果您必须拦截导航请求并按导航类型过滤它们,您可以做的最好是覆盖QWebEnginePage :: acceptNavigationRequest()虚函数。

https://doc.qt.io/qt-5/qwebenginepage.html#acceptNavigationRequest

class NavigationRequestOverride : public QWebEnginePage
{
public:
    NavigationRequestOverride(QObject* parent) : QWebEnginePage(parent) {}
protected:
    virtual bool acceptNavigationRequest(const QUrl &url, NavigationType type, bool isMainFrame)
    {
       // Here goes your logic
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.