Qt webenginewidgets 疑难解答

Posted

技术标签:

【中文标题】Qt webenginewidgets 疑难解答【英文标题】:Qt webenginewidgets troubleshoots 【发布时间】:2019-11-06 18:05:07 【问题描述】:

我在 Windows 7 中使用 Qt Creator 4.10.1(Qt 版本 5.13.1(MSVC 2017,32 位))。 我正在尝试为 Windows 制作导航器应用程序。 当我尝试在 *.pro 文件中使用“webenginewidgets”并执行 qmake 时,出现此错误“QT 中的未知模块:webenginewidgets”。 我验证了“Webkit”是否安装在QT目录中,是的。 有些人建议至少使用 MSVC 2013。我安装了 MSVC 2015 和 2017,并且在我的笔记本电脑中安装了 VS 2017(但我在 Tools/Options/kits/QT 版本中看到它旁边有一个感叹号,并显示此编译器无法为此生成任何代码的消息QT 版”,只有 MSVC 2015 32bits 和 MINGW 可以正常工作)。

我的 *.pro 文件:

FORMS += \
    mainwindow.ui

HEADERS += \
    mainwindow.h

SOURCES += \
    main.cpp \
    mainwindow.cpp

QT += widgets webenginewidgets

CONFIG += c++11 

我收到“QT 中的未知模块:webenginewidgets”的错误

这里有一些图片可以帮助你理解:

主窗口.cpp

Qt 版本

任何人都可以提出解决方案或指导我找到解决方案吗?

最好的问候。

【问题讨论】:

【参考方案1】:

您需要确保使用 MSVC 2017 或 MSVC 2019 进行编译。如果您使用较旧的 Windows 编译器配置 Qt,QtWebEngine 将被跳过。原因是 Chromium 使用 C++14,只有最新版本的 VS2017 及更高版本支持。

编辑:对于像 5.9 这样的旧版 Qt,MSVC 2015 也编译 QtWebEngine,但 MSVC 2013 不编译。

【讨论】:

但是如何知道我正在使用的女巫编译器,因为它们都是自动检测的(包括 MSVC 2017 和 2015)?以及如何选择编译器?我在 QT 文档中进行了搜索,但没有任何迹象对我有帮助,因为我几天前才开始使用 IDE。 这取决于您在 Qt Creator 之前安装的编译器,或者如果您有多个,您选择了哪一个。您可以在 Qt Creator 选项中选择哪个进入哪个套件。就我个人而言,我更喜欢在 VS 命令 shell 中构建,然后你只需从正确的 VS 文件夹中选择具有你想要的设置的 shell。

以上是关于Qt webenginewidgets 疑难解答的主要内容,如果未能解决你的问题,请参考以下文章

Unknown module(s) in QT: webenginewidgets原因及解决办法

解决Project ERROR: Unknown module(s) in QT: “webenginewidgets” 的问题_windows10下使用Qt安装MSVC2017

Qt 中的 Web 引擎

如何使用 Qt webEngine 而不是 Qt webkit

Qt嵌入网页

Qt嵌入网页