Qt5.x 编译QWebenginewidgets出现错误Project ERROR: Unknown module(s) in QT: webenginewidgets

本文介绍了编译QtWebEngineWidgets时遇到的未知模块错误及解决方法,并详细阐述了如何让QtWebEngine支持HTML5中的mp4文件播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题一:编译QWebEngineWidgets出现错误Project ERROR: Unknown module(s) in QT: webenginewidgets
原因:    因为Qt默认没有安装“webenginewidgets”和“webengine”模块的软件包。

方法一:源码编译webenginewidgets

方法二:换成Visual studio编译环境,可以使用其静态库文件。


    再直接编译即可!

————————————————————————————————————————————————

问题二:使用QtWebEngine开发的浏览器无法播放HTML5中的mp4文件?
原因:   QtWebEngine 不带mp4解码器

方向一:使Qt内嵌FlashPlay  

方法二:添加mp4的解码器

            尝试添加mp4解码器。

            原理:利用QtWebEngine 和chrome使用的都是chromium 内核。QT借助Chrome的解码器。

            步骤如下:

                1.下载安装一个chrome,其版本要与QtWebEngine的一致。

              2.取Chrome安装目录下的ffmpegsumo.dll,将ffmpegsumo.dll放到QT的安装目录……\plugins\qtwebengine\下面。(当生成目标程序的时候,也将plugins\qtwebengine\ffmpegsumo.dll放到安装包内





<think>我们正在处理一个Qt编译错误Project ERROR: Unknown module(s) in QT:webenginewidgets” 根据引用内容,这个问题通常出现在使用MinGW编译Qt的Web相关模块时,而使用MSVC(Visual Studio)则可能正常。 原因:Qt的WebEngine模块在Windows上需要MSVC编译器,MinGW可能不支持或需要额外配置。 解决步骤: 1. 确认是否安装了WebEngine库。 在Qt安装目录下,使用MaintenanceTool.exe(Qt维护工具)检查是否安装了Qt WebEngine模块。 或者,在Qt安装目录中搜索“Qt5WebEngine”或类似名称的文件夹,确认存在。 2. 如果确认已安装,则检查项目使用的构建套件(Kit)。 错误信息中提到的“Unknown module”通常意味着当前构建套件没有包含WebEngine模块。 注意:WebEngine模块在Windows上仅支持MSVC编译器,不支持MinGW。 3. 因此,解决方案是: a. 安装MSVC构建套件(如果尚未安装)。 在Qt安装时,选择安装MSVC版本的Qt库(例如:Qt 5.15.2 MSVC2017 64-bit)。 b. 安装对应的Visual Studio版本(例如MSVC2017需要VS2017)。 c.Qt Creator中,切换到MSVC构建套件。 4. 如果已经安装了MSVC版本的Qt,但在Qt Creator中没有检测到,可能需要手动设置构建套件。 打开Qt Creator -> 工具 -> 选项 -> Kits,检查MSVC套件是否被正确识别。 5. 在项目配置文件(.pro文件)中,确保已经添加了: QT += webenginewidgets 然后,使用MSVC构建套件重新构建项目。 6. 如果不想使用MSVC,也可以考虑使用其他不需要WebEngine的组件(如WebView),但WebView在Windows上同样需要MSVC。 注意:根据引用[2],如果MSVC套件显示为不可用(如缺少编译器),则需要安装对应的Visual Studio版本。 总结:在Windows上使用Qt的WebEngine模块,必须使用MSVC编译器,不能使用MinGW。 相关问题: 1. 如何检查Qt安装的模块? 2. 如何在Qt Creator中切换构建套件? 3. 如何安装特定版本的Visual Studio以支持Qt的MSVC编译? 4. 除了使用MSVC,还有其他方法在MinGW下使用WebEngine吗?</think>### 解决 Qt 项目中的 "Unknown module(s) in QT: webenginewidgets" 错误 #### 问题原因分析 该错误通常由以下原因导致: 1. **WebEngine 模块未安装** Qt 的 WebEngine 模块(含 `webenginewidgets`)需要单独安装,默认安装可能不包含此组件[^1][^2]。 2. **编译器不兼容** WebEngine 模块在 Windows 平台 **仅支持 MSVC 编译器**(如 Visual Studio),不支持 MinGW 编译器[^1][^2]。这是 Qt 官方的技术限制。 3. **构建套件配置错误** 项目使用了 MinGW 构建套件(Kit),但未正确关联 MSVC 套件[^2]。 --- #### 解决方案(分步操作) ##### 步骤 1:确认 WebEngine 模块安装 1. 打开 Qt 维护工具 `MaintenanceTool.exe`(位于 Qt 安装目录) 2. 在 **添加或移除组件** 界面中,检查以下组件是否已安装: ☑️ `Qt` > `Qt 版本` > `WebEngine`(例如:`Qt WebEngine 5.15.2`) ☑️ 对应编译器版本(如 `MSVC 2019 64-bit`) 3. 如未安装,勾选后点击更新(需联网)[^2]。 ##### 步骤 2:配置 MSVC 构建套件 1. **安装 Visual Studio** 下载并安装与 Qt 版本匹配的 VS(如 Qt 5.15 需 VS2019)[^2]。 2. **在 Qt Creator 中配置套件**: - 打开:`工具` → `选项` → `Kits` → `构建套件(Kit)` - 选择 MSVC 套件(如 `Desktop Qt 5.15.2 MSVC2019 64bit`) - 确保编译器、调试器路径正确(通常自动检测) ##### 步骤 3:切换项目构建套件 1.Qt Creator 左下角: - 从 `MinGW` 切换到 `MSVC` 套件(例如:`MSVC 2019 64bit`) - ![构建套件切换示意图](https://example.com/kit-switch.png)(图示参考)[^2] 2. 清理并重新构建项目: `构建` → `重新构建项目` ##### 步骤 4:验证 .pro 文件配置 确保项目文件(`.pro`)包含: ```qmake QT += webenginewidgets core gui ``` --- #### 替代方案(如无法使用 MSVC) 1. **使用 QWebView 替代** 修改代码,用 `QWebView`(需 `QT += webkitwidgets`)替换 `QWebEngineView`,但功能有限。 2. **跨平台编译** 在 Linux/macOS 下使用 MinGW 编译 WebEngine(Windows 不可行)。 --- ### 相关问题 1. 如何检查 Qt 安装的 WebEngine 模块版本? 2. MSVC 和 MinGW 编译器在 Qt 开发中的主要区别是什么? 3. 如何为 Qt WebEngine 项目配置离线文档? 4. Qt 6 中 WebEngine 模块有哪些重大变更? > ⚠️ 注意:WebEngine 模块依赖 Chromium 内核,在 Windows 上必须使用 MSVC 编译,这是 Qt 官方的明确限制。尝试 MinGW 编译可能导致更复杂的错误[^1][^2]。 [^1]: Qt5/6 解决 Mingw 下 Project ERROR: Unknown module(s) in QT:webenginewidgets” [^2]: 解决 QT 编译 QWebEngineWidgets 出现错误 Project ERROR: Unknown module(s) in QT: webenginewidgets 问题
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值