У нас уже есть реализация QWebView, и теперь мы хотим перейти на QWebEngineView.Сигнал с нажатием кнопки QWebEngineView
Через QWebView мы зарегистрировали ниже сигнал для получения уведомлений по любой ссылке, нажатой на веб-просмотр или нет, и мы получаем сигнал в 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, но мы не можем получить событие с нажатием ссылки.
Любое предложение я могу попробовать?
Спасибо заранее.
Я попробовал сигнал "urlChanged", но это также не помогает, когда мы щелкаем по ссылке. – Neel
Я использую Qt 5.6 – Neel
Это было бы неплохое решение, но я думаю, что вы могли бы поставить «if (progress == 0) {QUrl url = m_WebEngineView.url();}» в слот, связанный с loadProgress на m_WebEngineView –