切换Qt版本后报错主因是Qt Creator未正确识别新版本:qmake路径错误、Kit未绑定新Qt、模块缺失或编译器不兼容。需检查Qt版本配置中qmake路径是否正确,Kit是否关联对应Qt版本及匹配编译器,并确认目标模块已安装。

切换 Qt 版本后报错,大概率不是代码问题,而是 Qt Creator 没真正“认出”新版本的 Qt 安装 —— 尤其是 qmake 路径没对、模块没装、或构建套件(Kit)没同步更新。
qmake 路径无效或未被识别
Qt Creator 依赖 qmake 来解析 .pro 文件并加载模块。如果切换 Qt 版本后仍沿用旧路径,或新 Qt 的 qmake 不在 PATH 中,就会报 “Unknown module(s) in QT” 或 “No valid settings file could be found”。
- 打开 工具 → 选项 → 构建和运行 → Qt 版本,确认列表里有你刚安装的 Qt(如
Qt 6.7.3),且右侧qmake路径指向该版本下的bin/qmake(例如C:\Qt\6.7.3\mingw_64\bin\qmake.exe) - 如果路径显示为灰色或标红,手动点击“浏览”定位到正确的
qmake;不要复用旧版本路径 - Linux/macOS 下确保终端能直接运行
qmake --version,否则需把新 Qt 的bin/加入PATH(如修改~/.bashrc或/etc/profile)
构建套件(Kit)没绑定新 Qt 版本
即使 Qt 版本已添加,Kit 仍可能卡在旧版本上 —— 这会导致项目加载时用错 qmake,进而无法识别 webenginewidgets 等模块。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
- 进入 工具 → 选项 → 构建和运行 → 构建套件,找到你正在用的 Kit(如
Desktop Qt 6.7.3 MinGW 64-bit) - 检查 “Qt 版本” 下拉框是否选中了你刚配置的新 Qt;若仍是灰色或显示 “None”,说明未关联
- 如果 Kit 是自动检测生成的,但 Qt 版本为空,可手动克隆一个新 Kit,再指定 Qt 版本和对应编译器(注意:Qt 6.7.3 + MinGW 需搭配 MinGW 11.2,不是旧版 8.1)
模块缺失或编译器不兼容
Qt 5 和 Qt 6 的模块命名、依赖、甚至 ABI 都不同。比如 webenginewidgets 在 Qt 6 中已拆分为 WebEngineCore、WebEngineWidgets,且仅支持 MSVC(Windows)或 Clang(macOS/Linux)—— MinGW 不支持 Qt 6 的 WebEngine。
- Qt 5.15.2 + MinGW 可用
webenginewidgets,但 Qt 6.x + MinGW 会直接失败,必须换 MSVC 或 Clang - 确认新 Qt 安装时勾选了目标模块:运行
MaintenanceTool.exe→ “添加或移除组件” → 展开对应 Qt 版本 → 勾选Qt WebEngine(Qt 5)或Qt WebEngine Core / Widgets(Qt 6) - 若从源码编译 Qt(如自己 build 的 Qt 5.12.12),必须在
bin/目录下放qt.conf,内容为[Paths]\nPrefix=..,否则 Qt Creator 会报 “Qt 没有被正确安装,请运行 make install”
最常被忽略的是 Kit 和 Qt 版本的双向绑定:加了 Qt 版本 ≠ Kit 自动切换;改了 .pro 里的 QT += webenginewidgets ≠ Qt Creator 就能加载它 —— 中间缺一环,整个链就断了。

















