答案是需手动配置编译器、Qt版本和调试器三者组合成有效Kit。打开Tools→Options→Build & Run,先在Compilers中添加MinGW/MSVC路径,再在Qt Versions中指定qmake.exe,最后在Kits中绑定二者并自动匹配Debugger。

Qt Creator 启动后找不到编译器怎么办
刚装完 Qt Creator,新建项目却提示 “No valid kits found”,本质是它没检测到可用的编译器 + Qt 版本组合。这不是你漏装,而是安装时组件勾选或路径识别出了问题。
- 打开
Tools > Options > Kits > Compilers,检查是否有 GCC(Linux/macOS)、MinGW(Windows)或 MSVC(Windows)条目;若为空,点Add手动指定编译器路径(如mingw64\bin\g++.exe或MSVC\bin\Hostx64\x64\cl.exe) - 再切到
Kits > Qt Versions,确认已添加 Qt 安装路径下的qmake.exe(Windows)或qmake(Linux/macOS);常见错误是选了bin目录而非 Qt 根目录 - 最后在
Kits页签里新建一个 Kit:选中刚加的 Compiler 和 Qt Version,Debugger 自动匹配(GDB/CDB/LLDB),名称可填Desktop Qt 5.15.2 MinGW 64-bit - 如果用了在线安装器但没勾选 MinGW 或 Qt 版本,需重新运行安装程序补装——Qt Creator 本身不带编译器,它只是调度器
新建 Qt Widgets Application 后界面空白或报错 ui_mainwindow.h not found
这是新手最常卡住的点:项目能建,但双击 mainwindow.ui 打不开设计视图,或编译时报 ui_mainwindow.h: No such file or directory。根本原因是 moc 和 uic 工具没触发,或构建系统没正确配置。
组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。
- 确认项目使用的是
qmake构建系统(不是 CMake);CMake 模板默认不生成ui_*.h文件,需手动配置qt_add_resources或qt_wrap_ui - 右键项目名 →
Run qmake,强制重新生成ui_mainwindow.h和moc_*.cpp;别依赖自动触发,尤其改过 .ui 文件后必须手动执行一次 - 检查
.pro文件里是否含FORMS += mainwindow.ui;缺这一行,uic 就不会处理 UI 文件 - 若用的是 Qt 6,注意
QMainWindow构造函数里调用ui->setupUi(this)前,ui指针必须已用new Ui::MainWindow初始化,否则运行时崩溃
信号与槽连接失败:点击按钮没反应
拖了个 QPushButton,双击写了槽函数,编译通过但点击无响应。问题往往不在逻辑,而在连接方式或对象生命周期。
- 优先用 Qt 5+ 的新语法连接:
connect(button, &QPushButton::clicked, this, &MainWindow::onButtonClicked);;旧语法SIGNAL(clicked())容易拼错且无编译检查 - 确保槽函数声明加了
public slots:或public Q_SLOTS:(Qt 6 推荐后者),且类继承自QObject并含Q_OBJECT宏 - 检查
onButtonClicked是否被误写成on_pushButton_clicked(Designer 自动生成的命名规则);两者不等价,手动连必须严格匹配函数签名 - 若按钮是在代码中 new 出来的,确认它父对象设为
this(如new QPushButton(this)),否则窗口关闭时按钮被 delete,槽函数失效
运行程序弹窗提示“缺少 Qt5Core.dll”或“无法定位程序输入点”
开发机上跑得好好的,发给同事就闪退。这不是代码问题,是动态库没打包或版本冲突。
- 不要直接复制 exe 文件;用 Qt 提供的
windowsdeployqt工具(路径类似Qt\5.15.2\mingw81_64\bin\windowsdeployqt.exe)命令行执行:windowsdeployqt -release yourapp.exe - 若用 MSVC 编译,必须同时部署对应 VC 运行时(如
vcruntime140.dll),windowsdeployqt不处理这个,得手动从Visual Studio\Redist\MSVC下拷 - 检查目标机是否装了同版本 Qt;不同 Qt 版本的 DLL 不兼容,比如用 Qt 5.15 编译的程序不能靠 Qt 6.x 的 dll 运行
- 发布前关掉 Qt Creator 的“Shadow build”选项(项目设置 → 构建 → 构建目录),否则
windowsdeployqt找不到生成的 exe 路径
Run qmake 和检查 Q_OBJECT 宏解决。

















