答案是Kit未配置,即Qt Creator无法定位Qt SDK、编译器与调试器组成的有效构建三元组,需在Tools→Options→Build & Run→Kits中手动关联三者并确保状态为绿色对勾。

装完 Qt Creator 后直接新建项目跑不起来,大概率是套件(Kit)没配对,不是代码写错了。
Qt Creator 启动后第一件事:检查套件是否就绪
很多人卡在“点击运行就报错”,实际根本没走到编译那步——Kit 缺失或配置错误是最常见原因。Qt Creator 不自带编译器,它只是个“指挥官”,真正干活的是你系统里装的 MinGW、MSVC 或 Clang。
- 打开
Tools > Options > Kits,看Compilers标签页下有没有识别到编译器(比如MinGW 11.2 64bit);没有就点Add手动指定g++.exe路径(Windows 下通常在C:\Qt\5.15.2\mingw81_64\bin\g++.exe) - 再切到
Debuggers标签页,确认gdb.exe或lldb路径正确(gdb缺失会导致调试按钮灰掉) - 最后回到
Kits标签页,检查是否有带绿色对勾的 Kit(例如Desktop Qt 5.15.2 MinGW 64-bit);如果没有,点Add,手动关联已有的 Qt 版本、Compiler 和 Debugger - 新建项目时,务必在向导最后一步确认选中了这个绿色 Kit;否则项目默认用空 Kit,构建会直接失败,报错信息类似:
No valid kits found
创建 Qt Widgets Application 时别跳过 qmake/CMake 选择
Qt 5 默认用 qmake,Qt 6 推荐用 CMake,但新手容易忽略这一步导致后续无法加载 UI 文件或链接模块。
组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。
- 选模板时看到
Qt Widgets Application就够了,不用纠结Qt Quick(那是 QML 用的) - 构建系统必须显式选:
qmake(Qt 5 项目)或CMake(Qt 6 项目);混用会出问题,比如ui_mainwindow.h不生成、Q_OBJECT报错 - 如果选了
CMake却没装 CMake 工具,Qt Creator 会提示CMake not found;Windows 用户需单独下载安装 CMake,并在Options > Kits > CMake里指定cmake.exe路径 - Qt 6 项目若仍想用 qmake,得额外安装
qt6-tools组件(在线安装器里勾选),否则qmake命令不可用
双击 mainwindow.ui 进不去设计模式?检查文件关联
UI 文件打不开设计界面,不是 Designer 坏了,而是文件类型没被正确识别或插件未启用。
- 右键
mainwindow.ui→Open With > Design Mode;如果菜单项灰色,说明当前 Kit 不支持 UI 设计(比如选了纯 Console Kit) - 确认
Tools > Options > Environment > General中勾选了Enable Qt Designer integration - 检查项目文件(
.pro或CMakeLists.txt)是否包含FORMS += mainwindow.ui(qmake)或set(FORMS mainwindow.ui)+qt_add_resources(CMake),缺了这句,UI 文件不会参与构建 - Linux/macOS 下若提示
Could not launch Qt Designer,大概率是libQt5Designer.so路径未加入LD_LIBRARY_PATH,临时解决可运行:export LD_LIBRARY_PATH=/path/to/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATH
qDebug() 输出看不见?别只盯控制台窗口
打印语句没反应,常因输出被重定向、过滤或 IDE 没捕获,而不是函数失效。
- 确保在
main.cpp开头加了#include <QDebug>,且调用写法是qDebug() << "hello";(不是printf风格) - 输出默认出现在底部
Application Output窗格,不是Compile Output;如果没看到该窗格,按Alt+4或右键底部标签栏启用 - Qt 6 中
qDebug默认被QT_MESSAGE_PATTERN过滤,可在Projects > Run > Run Environment里添加变量:QT_MESSAGE_PATTERN=%{function}:%{line} %{message} - 若程序一闪而退,勾选
Projects > Run > Run in terminal(Windows 下会弹 cmd,Linux/macOS 弹终端),避免输出被吞
真正卡住的往往不是语法,而是 Kit 关联、构建系统匹配、UI 文件注册这三个环节;只要它们对了,QLabel 显示 “Hello” 和信号槽连通都是顺下来的。其他细节,比如 Q_OBJECT 宏、moc 生成、资源文件路径,都建立在这三者正常工作的前提上。

















