QT显示网页控件QAxWidget、QWebEngineView及区别

鼠扑  论坛元老 | 2025-3-11 18:57:24 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1045|帖子 1045|积分 3135

一.QT种显示网页控件QAxWidget
1.介绍
  QAxWidget 属于 QtAxContainer 模块,ActiveX 是微软提出的一种组件对象模型(COM)技术,允许不同的软件组件在 Windows 操纵系统上举行交互和集成。QAxWidget 为开发者提供了在 Qt 应用步伐中利用 ActiveX 控件的本领,
  通过它可以将各种 ActiveX 控件嵌入到应用步伐界面中。

2.利用
引入必要的模块
在 .pro 文件中添加 QT += axcontainer 以包含 QAxWidget 所需的库。

包含头文件
在代码中包含 QAxWidget 的头文件:
#include <QAxWidget>

创建 QAxWidget 对象,指定要嵌入的 ActiveX 控件的标识符,将其添加到布局中显示,并举行相应的交互操纵:
cpp
#include <QApplication>
#include <QAxWidget>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);
    QAxWidget *axWidget = new QAxWidget("SomeActiveXControl.OCX", &window);
    layout->addWidget(axWidget);
    window.show();
    return a.exec();
}  

二.QT种显示网页控件QWebEngineView
1.介绍
  QWebEngineView 属于 QWebEngineWidgets 模块,该模块为开发者提供了在 Qt 应用步伐中集成 Web 浏览器功能的本领。QWebEngineView 以可视化控件的形式存在,能够在应用步伐界面中显示网页内容,支持 HTML、CSS、JavaScript 等多种 Web 技术。
  
2.利用
引入必要的模块
在 .pro 文件中添加 QT += webenginewidgets 以包含 QWebEngineView 所需的库。

包含头文件
在代码中包含 QWebEngineView 的头文件:
#include <QWebEngineView>

创建 QWebEngineView 对象,并将其添加到布局中显示,同时加载网页:
cpp
#include <QApplication>
#include <QWebEngineView>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);
    QWebEngineView *view = new QWebEngineView(&window);
    layout->addWidget(view);
    view->load(QUrl("https://www.example.com"));
    window.show();
    return a.exec();
}

三.QAxWidget与QWebEngineView区别
1.功能特点
QAxWidget
  功能多样性:由于 ActiveX 控件的种类繁多,QAxWidget 可以嵌入各种范例的 ActiveX 控件,如 Office 组件(Word、Excel 等)、多媒体播放器、绘图工具等,为应用步伐扩展丰富的功能。
  Windows 平台依靠:ActiveX 技术是微软 Windows 平台特有的,以是 QAxWidget 主要用于 Windows 平台,在其他操纵系统上无法直接利用。
QWebEngineView
  Web 内容支持:专注于显示和交互 Web 内容,能正确渲染各种复杂的网页布局和样式,支持 HTML5、CSS3、JavaScript 等现代 Web 尺度,提供与主流浏览器相似的浏览体验。
  跨平台支持:基于 Chromium 引擎,QWebEngineView 可以在多种操纵系统上利用,如 Windows、Mac OS、Linux 等,具有精良的跨平台兼容性。
  
2.编译器支持
 (1)webenginewidgets
      windows下依靠于 Chromium 内核,而 Chromium 内核在 Windows 平台上主要是利用 Visual Studio 举行编译的。为了保持兼容性和稳定性,Qt 在 Windows 下提供webenginewidgets模块时,通常要求利用 MSVC 编译器。利用 MinGW 等其他编译器可能会出现兼容性题目,导致该模块无法正常利用。
      非 Windows 系统:在 Linux 和 macOS 等系统上,webenginewidgets模块并不逼迫要求利用 MSVC 编译器。因为在这些平台上,Chromium 内核可以利用 GCC 或 Clang 等编译器举行编译,Qt 的webenginewidgets模块也相应地可以利用这些平台上的尺度编译器来构建。
 (2)QAxWidget可以在windows下的MinGW编译器上运行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表