当前位置:   article > 正文

Qt实现简单的显示网页(QtWebkit、QtWebEngine、QAxWidget)_qt 显示网页

qt 显示网页

首先先说说QtWebkit、QtWebEngine、QAxWidget三种方式显示网页的应用场景
QtWebkit:在Qt5.6以前,都是使用QtWebkit组件,但Qt5.6以后,移除了QtWebkit这个组件
QtWebEngine:Qt5.6以后的MSVC版本,引进了基于Chromium的浏览器引擎 QtWebEngine
QAxWidget:Qt5.6以后的mingw版本,由于移除了QtWebkit,mingw版本不能使用QtWebEngine,因此只能使用QAxWidget控件

QtWebkit

QtWebKit提供一个Web浏览器引擎,可以轻松地将来自万维网的内容嵌入到Qt应用程序中。同时,可以使用本机控件增强Web内容。
QtWebKit提供用于呈现超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)和可伸缩矢量图形(SVG)文档的工具,这些文档使用级联样式表(CSS)样式,并使用JavaScript编写脚本。
JavaScript执行环境与Qt对象模型之间的桥梁使定制成为可能QObjects写剧本。有关详细文档,请参阅QtWebkit桥,通过与Qt网络模块的集成,可以透明地从Web服务器、本地文件系统甚至Qt资源系统加载Web页面。
除了提供纯呈现功能之外,还可以通过使用contenteditable属性设置在HTML元素上。
QtWebKit已经得到了增强,在移动领域也变得更有吸引力。有关更多信息,请参见QtWebKit Go Mobile.
QtWebKit是基于开放源码WebKit引擎。更多关于WebKit本身可以在WebKit开源项目网站。
关于交互部分需要与JavaScript联合使用,下面只简单的介绍如何显示网页。

QWebView view;
view.load(QUrl(https://blog.csdn.net/qq_36651243));
view.show();
  • 1
  • 2
  • 3

更多QtWebkit资料

QtWebEngine

QtWebEngine模块提供了一个Web浏览器引擎,可以方便地在没有本地Web引擎的平台上将来自万维网的内容嵌入到Qt应用程序中。
QtWebEngine提供C+类和QML类型,用于呈现HTML、XHTML和SVG文档,样式为级联样式表(CSS),并使用JavaScript编写脚本。用户可以通过使用contenteditable属性设置在HTML元素上。

小编开发环境:Qt5.9.6+VS2015

QWebEngineView *LiveView = new QWebEngineView;
LiveView->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
LiveView->setAttribute(Qt::WA_DeleteOnClose);
LiveView->load(QUrl("https://blog.csdn.net/qq_36651243"));
//LiveView->setWindowFlags(Qt::FramelessWindowHint);   //去除边框
//LiveView->setAttribute(Qt::WA_TranslucentBackground, true); //透明
LiveView->resize(1024, 768);
LiveView->show();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

更多QtWebEngine资料

QAxWidget

A QAxWidget可以使用它应该包装的ActiveX控件的名称,或者使用指向ActiveX控件的现有接口指针,将其实例化为空对象。ActiveX控件的属性、方法和事件,这些属性、方法和事件仅使用QAxBase受支持的数据类型,可作为Qt属性、槽和信号使用。基类QAxBase控件直接访问ActiveX的API。IUnknown指针。

小编开发环境:Qt5.9.6+VS2015
使用QAxWidget前需要注意两点:
1.QAxContainer.lib,QAxServer.lib库不可缺。
2.开发机本身具有相应的IE游览器(注册表文件一致)

QAxContainer.lib,QAxServer.lib引用方式:
在这里插入图片描述
关于注册表文件:
在这里插入图片描述

QAxWidget *flash = new QAxWidget(0, 0);      //QAxWidget使用的是ActiveX插件
flash->resize(600, 400);                    //设置该控件的初始大小
flash->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件ID
flash->setProperty("DisplayAlerts", false);//不显示警告信息
flash->setProperty("DisplayScrollBars", true);//不显示滚动条
QString webstr = QString("www.baidu.com");//设置要打开的网页
flash->dynamicCall("Navigate(const QString&)", webstr);//显示网页
flash->show();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

更多QAxWidget 资料

关于根据CEF封装QCef学习
QCef及CEF学习

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/605215
推荐阅读
相关标签
  

闽ICP备14008679号