使用QtWebKit,通过setlinkDelegation策略可以轻松实现.但是,这里似乎有点复杂.我试图按照这个例子,但不知怎的,我需要在QWebEngineVIEw中重新定义QWebEnginePage.以下是我到目前为止所提出的内容.知道如何实际连接这一切吗?
谢谢
#ifndef MYQWEBENGINEVIEW_H#define MYQWEBENGINEVIEW_H#include <QWebEngineVIEw>#include <QDesktopServices>class MyQWebEnginePage : public QWebEnginePage{ Q_OBJECTpublic: MyQWebEnginePage(QObject* parent = 0) : QWebEnginePage(parent){} bool acceptNavigationRequest(const QUrl & url,QWebEnginePage::NavigationType type,bool isMainFrame) { qDeBUG() << "acceptNavigationRequest("<<url << "," << type << "," << isMainFrame<<")"; if (type == QWebEnginePage::NavigationTypelinkClicked) { QDesktopServices::openUrl(url); return false; } return true; }};class MyQWebEngineVIEw : public QWebEngineVIEw{ Q_OBJECTpublic: MyQWebEngineVIEw(QWidget* parent = 0); MyQWebEnginePage* page() const;};#endif // MYQWEBENGINEVIEW_H解决方法 你不需要第二部分.试试这个:
QWebEngineVIEw *vIEw = new QWebEngineVIEw();MyQWebEnginePage *page = new MyQWebEnginePage();vIEw->setPage(page);总结
以上是内存溢出为你收集整理的c – QWebEngineView在外部浏览器中打开全部内容,希望文章能够帮你解决c – QWebEngineView在外部浏览器中打开所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)