当前位置: 首页 > news >正文

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

一.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编译器上运行。

http://www.dtcms.com/a/61506.html

相关文章:

  • Pytorch实现之利用CGAN鉴别真假图像
  • 深入解析Spring AI框架:在Java应用中实现智能化交互的关键
  • vue3+elementuiplus的table表格动态高度
  • 1-003:MySQL 的索引类型有哪些?
  • 数据结构和算法--仅仅用于理解里面的术语,入门级别
  • github生成badges的方法
  • 大模型Transformer的MOE架构介绍及方案整理
  • 记录--洛谷 P1451 求细胞数量
  • MySQL数据库的简单练习
  • 详解分辨率、像素值与图像大小:数字图像的三大支柱
  • ospf虚拟链路配置
  • 学习资料电子版 免费下载的网盘网站(非常全!)
  • Linux Bash 单命令行解释 | 文件操作 / 字符串操作 / 重定向
  • Json工具(二)- GSON
  • 基于PyTorch的深度学习5—神经网络工具箱
  • STM32 Bootloader理解
  • LLM训练deepseek如何识别语音
  • linux 系统 之centos安装 docker
  • 【AI 大模型】RAG 检索增强生成 ⑧ ( 文本相似度排序 | Bi-Encoder 双编码器 | Cross-Encoder 交叉编码器 )
  • Docker 篇
  • IU5380C同步降压型2~4节多类型锂电池充电管理IC
  • 【形态学操作中的腐蚀和膨胀详解】
  • RuleOS:区块链开发的“破局者”,开启DApp创新的新纪元
  • Python入门3:类与面对对象
  • LeetCode 376. 摆动序列 java题解
  • 从 “12.3” 的崩溃到完美的解决方案:一场类型选择的冒险之旅
  • 蓝桥杯备赛-差分-重新排序
  • hive面试题--left join的坑
  • k8s集群中部署dcgm-exporter收集GPU指标
  • 机器学习 Day01人工智能概述