Qt Как получить сигнал отправителя об отправителе или как узнать loadStarted URL QWebEngineView?
QWebEngineView имеет сигнал void loadStarted(). Этот сигнал испускается при получении от QWebEnginePage. QWebEnginePage переопределяет эту функцию из QWebEnginePagePrivate, где она недействительна loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false), но в аргументе класса QWebEnginePage provisionalUrl помечен как Q_UNUSED(), но я хочу знать ее значение. Как мне это сделать?
1 ответ
Если вам нужно перехватывать запросы навигации и фильтровать их по типу навигации, лучшее, что вы можете сделать, это переопределить виртуальную функцию QWebEnginePage::acceptNavigationRequest().
https://doc.qt.io/qt-5/qwebenginepage.html
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
}
};