资讯动态

Qt 6开发环境搭建全攻略:从编译器选型到跑通第一个窗口程序

发布时间:2026/10/18 15:47:32 来源:尧图企业网站定制
1. 为什么还在聊Qt环境搭建先说个现象很多从零开始学Qt的开发者包括我当年一起入坑的同事第一关往往不是语法不是信号槽而是“环境装不上”。Qt本身不算复杂但它的开发环境涉及编译器、调试器、构建工具、套件配置好几个环节任何一个对不上都会在第一个“Hello World”上卡住半天。更麻烦的是网上教程大多默认你已经装好了某个编译器或者默认你用的是某个特定版本换个环境就全对不上。我这篇就只干一件事——把Qt开发环境从下载到跑通第一个窗口程序整个链条走一遍。我用的是Windows平台加Qt 6的开源版这也是目前个人学习和大多数中小型桌面项目最常用的一套组合。文章会把选型逻辑、每一步操作背后的原因、容易踩的坑都讲清楚保证你跟着走完能真正双击运行出一个带按钮的窗口而不是只对着安装界面发呆。这篇适合三类人看完全没接触过Qt的新手换电脑后要重新配环境的熟手以及想从“能跑”进阶到“知道为什么这么配”的开发者。2. 动手装之前先想明白三件事2.1 开源版还是商业版其实不用纠结Qt的授权方式分成开源版和商业版。开源版用LGPL或GPL协议商业版就是购买授权。对绝大多数学习者、个人项目、甚至公司内部工具来说开源版足够用直接从官方维护工具下载就行。唯一要注意的是如果项目要闭源商用并且你用了Qt的某些模块就得去核实LGPL的合规要求比如动态链接、允许替换、提供相应许可证文本等。不过这是后话环境搭建阶段不用管。2.2 编译器选MinGW还是MSVC这是第一个关键岔路在Windows上装Qt官方安装器会问你要装哪个编译器套件。常见选项是MinGW和MSVC很多新手在这里懵了。我直接说结论如果你只是学习Qt选MinGW如果你要用Visual Studio写C或者依赖Windows SDK做系统级开发选MSVC。MinGW是GCC在Windows上的移植版本Qt官方会为每个版本提供一个配套的MinGW编译器打包下载配置简单不容易出乱子。MSVC则需要你机器上已经装了对应版本的Visual Studio Build ToolsQt只管给你链接库编译工作靠VS工具链完成链路更长版本必须严格匹配配起来相对麻烦。我自己第一台机器装的是MSVC版本结果编译时提示找不到“cl.exe”查了半天才发现是Visual Studio没装C桌面开发组件。后来重装成MinGW版本十分钟就跑通了。所以对于纯Qt新手我的建议非常明确第一步用MinGW把Qt本身弄明白之后再按需引入MSVC没必要一开始就两个都碰。2.3 版本选择新不是万能但也不是越老越稳Qt 5和Qt 6是两个主要大版本。Qt 5目前仍在维护最新的小版本号是5.15系列Qt 6从6.0一路迭代到现在功能迭代很快桌面端、移动端、嵌入式都很活跃。如果没有任何历史包袱我建议直接用Qt 6的最新稳定小版本。官方安装器在组件列表里会标明每个大版本的维护状态挑“支持中”的即可。还有一个常见问题同一个大版本里的小版本比如6.5和6.8有什么区别对初学者来说差别不大选择最新稳定版就好因为新版会修掉很多编译器和平台的兼容性问题少踩坑。3. 官网下载与安装别被界面劝退3.1 下载安装器时的两个细节访问Qt官方页面找到“Download Qt”入口。注意现在官方网站更倾向于让你填邮箱获取在线安装器链接页面会让你选平台——Windows、Linux、macOS各自不同。填完邮箱后下载页面会给一个安装包Windows下就是qt-online-installer-windows-x64-数字版本.exe。这个下载包本身不大大概几十MB后续真正的Qt库文件都是在安装过程中按需下载的所以网络环境会直接影响安装时长建议选网络状况好的时间段操作。还有一个小细节下载页有时会同时出现开源版和商业版两个入口位置不同。选“Qt Online Installer for OpenSource”这个入口别点到商业版试用入口虽然安装步骤差不多但授权提示完全两码事容易搞混。3.2 安装过程的真实界面和操作顺序双击下载好的安装器如果弹出来的是命令行窗口那是它在初始化不要关等图形界面出来。图形界面会先要求登录或注册Qt账号——这个账号是官方强制要求的用来做开源版用户识别不用付费但必须注册。登录之后就是一堆勾选项安装路径默认是C盘根目录下的某个文件夹例如C:\Qt。我建议不要改到带中文或空格的路径后面CMake、编译器对路径可能出问题。如果你有两个盘可以选一个纯英文路径比如D:\Qt。组件选择这里是最关键的步骤。展开某个Qt版本比如6.8.x下面会列出一堆模块。务必勾选“MinGW 13.1.0”之类的编译器工具链它和Qt版本是配套的以及“Qt Creator”IDE、Qt的“Sources”、“Qt Debug Symbols”等调试符号。其余像“Qt Additional Libraries”“Qt 附加模块”中勾选你真正需要的即可。我当时第一次装时图省事把每个模块全勾了结果80GB磁盘空间被吃掉一半而且安装时间超过一个小时。后来清掉重装只保留了WinGW编译器、Qt Creator、编译器对应的二进制模块和Sources总共不到8GB半小时结束。所以组件选择的原则就是需要哪个模块勾哪个普通Widgets应用不用把庞大的WebEngine、多媒体模块全装上。继续点击下一步会进入许可协议确认界面。仔细看LGPL条款确认要遵守Qt的开源许可条件然后勾选接受就可以安装了。安装过程会开启好几个下载线程界面有进度条展示各个组件的状态。如果中途网络断开别慌安装器有断点续传机制重新打开安装器一般会提示继续或终止。3.3 安装完的两个收尾动作别删“MaintenanceTool”也顺手建个快捷方式安装目录下会多出一个MaintenanceTool.exe文件——这是Qt官方维护工具负责后续添加组件、更新版本、卸载Qt。很多新手装完就把它忘了等想加一个模块时却找不到入口只能重装整个Qt白白浪费大量时间。所以务必在当前目录给Qt Creator.exe和这个MaintenanceTool.exe都建个快捷方式放到桌面或者你顺手的位置。后续无论是升级小版本还是增装某个附加模块都不用再重新下载安装器了。4. Qt Creator 与套件配置装好之后的真正重头戏4.1 打开Qt Creator先搞懂“套件”是什么双击Qt Creator后默认打开的欢迎界面会引导你新建项目。如果你已经新建过项目重启Qt Creator后在“工具”菜单里找到“选项”里的“Kits”页面。这里就是套件配置。所谓“套件”Kits就是把一套自洽的开发工具链绑定在一起包含Qt版本、编译器、调试器、CMake或qmake这几样。你可以配置多个套件比如一个MinGW套件、一个MSVC套件然后在构建项目的时候选择用哪一套。这样改了套件Qt Creator会自动调用对应的编译器和Qt库无需手动改环境变量非常实用。我的理解是套件像一台组装好的迷你电脑CPU是编译器内存是Qt库操作系统是CMake硬盘是调试器。你换套件就等于换整台电脑Qt Creator里的项目会默认使用你指定的那台“电脑”来编译运行。4.2 关键字段怎么填编译器、调试器、CMake点选某个套件后右侧有“编译器”“调试器”“Qt版本”“CMake工具”这几栏。正常情况下安装器会自动识别并填入默认值。但偶尔也会出现某栏是黄色感叹号“!”的情况这时就需要手动指定。以MinGW套件举例正常情况下编译器C、C都会自动指向MinGW安装目录的bin文件夹里的gcc.exe与g.exe。检查一下路径是否真实存在即可。调试器建议使用GDB。MinGW安装包中通常自带gdb.exe路径一般在MinGW/bin/gdb.exe。如果找不到可以从系统工具中下载或手动设置路径。CMakeQt 6时代CMake是主要构建工具Qt安装包中通常自带CMake组件直接选定那个路径。如果字段里已经是可用的路径没有红色提示就不用动。如果出现感叹号点旁边的“浏览”按钮手动定位到上面对应的exe文件。配置完毕后Qt Creator会在套件名称前显示一个绿色勾号表示这套工具链可用。这里要特别提一个易错点MSVC套件。如果你安装了Visual StudioQt Creator会自动识别MSVC编译器。但如果你在Visual Studio里只安装了Python开发或.NET负载没有装“使用C的桌面开发”MSVC编译器是不会出现的。所以选MSVC套件的同学务必回到Visual Studio Installer里补充安装C桌面开发组件否则在配套件时看不到任何MSVC编译器。4.3 用“构建套件页面”做个自检Qt Creator的“构建和运行”进入的Kits页面有一个“Summary”栏会列出当前套件的状态。最好的自检方法是随便新建一个桌面Widgets项目在“构建套件选择”下拉列表里选中你的套件然后构建。如果编译日志里成功生成exe说明套件完全可用。千万别只看绿色勾号就认为万事大吉——我见过不少套件状态正常但构建时关键组件版本不匹配的案例所以实测一次是性价比最高的校验方式。5. 第一个程序跑起来新建、构建、运行三步走5.1 新建项目时怎么选模板回到Qt Creator点击欢迎界面的“New Project”。弹出的界面里有多种模板例如“Application”、“Library”、“Other Project”。初学者选择“Application”下的“Qt Widgets Application”。这是什么意思呢Widgets是Qt里传统的桌面控件库基于QWidget提供窗口、按钮、文本框等基础UI控件也是很多传统桌面软件的基石。虽然现在Qt也支持QML相结合的“Qt Quick”界面开发但Widgets的代码结构更直观、更贴近传统C桌面开发初学者一上来接触这个概念最合适。Qt Quick那一套UI描述语言和渲染引擎可以之后再去学不要一上来就被两种技术路线搞晕。接下来会让你填项目名称、路径。项目名称我建议都用英文路径也要全英文。虽然中文路径在新版Qt里报错率没那么高了但为了不给自己添堵还是养成用英文的习惯。继续点下一步会问“构建套件”用哪个选刚才配好的那个。再点下一步是类信息设置默认是MainWindow作为主窗口类继承自QMainWindow可以不改。最后一步是翻译文件、版本控制等可以不勾选直接完成。生成后的项目结构中有几个关键文件CMakeLists.txt如果是CMake构建方式控制整个项目的构建过程main.cpp为入口文件创建了MainWindow对象mainwindow.cpp与mainwindow.h定义了主窗口类的实现。可以简单浏览一遍从main.cpp入口去看理解QApplication的作用——它是Qt程序的运行环境初始化对象在它之后创建的控件才能正常运行接着创建MainWindow窗口对象调用show()显示最后调用exec()进入事件循环。事件循环是个既高级又基础的概念现在只需要知道它是Qt程序能一直运行而不闪退的原因就行。5.2 加一个按钮、改一个标题验证“环境真的通了”默认生成的空窗口其实啥也没有我们可以先加一个最精简的按钮验证构建链条确实没问题。方法是双击mainwindow.h文件在类声明里加一行私有成员private: QPushButton *btn;然后在mainwindow.cpp的构造函数中加入btn new QPushButton(点我, this); btn-setGeometry(100, 100, 80, 30);注意还要在mainwindow.cpp的顶部引入头文件#include QPushButton。保存所有文件点击左下角的绿色锤子按钮或直接按CtrlB构建。编译日志区域会输出类似”Build succeeded”的字样同时Debug文件夹下会生成一个带项目名的exe。此时点击绿色播放按钮控制构建并运行窗口就会弹出标题为默认的“MainWindow”。如果想改窗口标题在构造函数里加上setWindowTitle(我的第一个Qt窗口);再次构建运行看到带按钮的窗口出现你的环境就算彻底搭好了。这里有几个经验补充运行时如果闪退可以在Qt Creator的下方“应用程序输出”栏查看提示大部分问题是代码异常比如空指针或控件未初始化。初学者最常犯的错误是在创建控件后忘了指定父对象导致窗口关闭后控件还留在内存里弹出时不明显但关闭时崩溃。Debug和Release两种构建模式区别很大。Debug模式下程序运行较慢但带有调试信息便于定位问题Release模式编译出的程序运行更快、体积更小但调试信息少。Qt Creator默认是Debug模式初学者学习阶段用Debug即可甚至可以两者并存——构建时切换配置选择Debug或者Release即可。关于“构建目录”Qt Creator默认会在项目文件夹下创建一个build-xxx-套件名称-配置名称的子目录。这个目录是编译生成的中间文件夹不是源码目录。如果你后续想用Git管理源码一定要在.gitignore里忽略掉这些build目录否则每次构建出来的临时文件都会污染仓库。5.3 直接双击exe运行结果提示缺少DLL好不容易编译出一个exe你双击它结果弹出提示“由于找不到Qt6Widgets.dll无法继续执行代码”。这个是新手必遇的经典坑。原因很简单Qt程序运行时依赖Qt库的DLL而这些DLL存放在Qt安装目录的bin文件夹下。在Qt Creator里运行时Creator会自动把Qt库所在目录加入到程序的DLL搜索路径所以一切正常但直接双击exe时系统找不到这些DLL。解决办法也很直白把Qt安装目录的bin文件夹路径添加到系统PATH环境变量或者把需要的DLL复制到exe同目录下。第一种更通用但会污染全局环境变量不太推荐长期使用第二种更干净——构建完程序发布时最后要做的事就是把相关DLL都放一起。去Qt安装目录找到bin文件夹把里面的全部或至少以Qt字符串开头的核心DLL都复制到exe旁。这种复制法是整个Qt学习过程中很有用的一个技能也是后续打包分发时绕不开的操作现在提前认识它也好。6. Qt Creator日常使用里最常用的几个面板环境搭好后Qt Creator的界面值得花十分钟熟悉一下因为后面所有开发都在这里进行。最左侧的竖条是菜单栏模式切换对应编辑、设计、调试、项目、帮助、发布等视图。常用的是“编辑Edit”和“项目Projects”两个视图。编辑视图用来写代码也支持打开多个文件项目视图里显示CMakeLists.txt、源文件等结构方便浏览整个工程。中下方是“信息输出”面板有“构建输出Build Output”“应用程序输出Application Output”“问题Issues”“搜索结果”等标签页。其中“问题”标签很实用它会把编译时的错误和警告汇总并显示相应的行号点击一下就能跳到源码对应位置。很多人编译失败后找不到问题就是因为光盯着构建输出二进制的眉头不去看问题面板。右上角还有一个“构建/运行按钮”组合包含绿色箭头运行和锤子构建。旁边是调试模式按钮点击后进入断点调试。新手一开始用断点定位代码逻辑是很好的习惯比纯看日志高效得多。设置断点的方法是点击代码行号左侧的灰色边栏出现红色圆点后再运行时就可在该位置暂停。7. 常见问题速查与避坑经验症状原因解决方案编译时提示找不到g或gcc编译器的路径没配对或MinGW未安装在“选项-Kits”中重新指定编译器路径路径一般位于Qt安装目录/Tools/mingw*/bin提示Cannot find file: CMakeLists.txt项目目录位置被移动或构建目录错乱确认项目根目录下有CMakeLists.txt文件清理一下build目录重新打开项目编译成功但运行时报缺少DLLQt运行库路径没加到环境变量在PATH添加Qt安装目录的bin路径或手动把DLL复制到exe同目录调试器启动失败提示No such file套件里调试器没选对或GDB未安装在“套件”里将调试器指向实际的gdb.exeMinGW套件自带gdb找不到就重新安装MinGW套件名称旁边有黄色感叹号该套件缺少某一部分工具链点击套件字段逐项补全尤其检查编译器、调试器、CMake三栏是否均有效界面中文乱码源文件编码不统一或代码中直接使用中文字符串统一以UTF-8编码保存源文件高级一点的方案是用Qt的语言家机制做多语言修改代码后运行效果和改前一样可能构建的是Release而改的是Debug或构建目录搞混在Qt Creator下方选择正确的构建配置和套件然后重新构建运行这些情况里最费时间的往往不是技术难度而是方向不对。比如调试器时好时坏就是因为Qt Creator自身更新后某些插件的GDB适配状态变了重置一下套件配置往往就好了。再强调一次Kits面板里全部显示正常、构建测试通过这套环境才真正属于你。8. 玩法进阶环境搭好之后下一步该怎么走环境跑通第一个按钮只是起点。如果你按照上面的步骤走完接下来可以试着加更多控件比如文本框、列表、菜单感受Qt的信号槽机制。信号槽是Qt最核心也最迷人的概念简单说就是某个控件的操作比如点击按钮会发出信号另一个对象在槽函数中响应。我建议从按钮的clicked信号开始连接到一个自己写的槽函数你会发现C也能写得像脚本一样富有弹性。如果你对界面风格感兴趣可以去了解样式表QSS——可以把它理解成网页里的CSS通过写简单的样式代码就能改变按钮、窗口、列表的颜色与外观。再往后可以做一个小工具比如一个简单的记事本、文件重命名器等。如果想探索模块Qt 6还提供网络、多媒体、数据库等丰富的模块。比如你想做一个带界面的小工具调用Qt网络的接口去请求本地服务或者做一个资源管理器来操作本地文件这些场景在Qt官方示例里都有现成代码复制下来改改就能跑。最好的学习方式就是带着一个小工具的需求去写而不是啃厚厚的手册。我在实际操练中有个体会环境搭建时遇到的那些坑其实都是在间接锻炼你对工具链的理解而非无意义的浪费时间。记得当时配好环境后我开心得连续写了好几个小程序从时钟、计算器一直做到一个带SQLite数据库的记账本——那会儿才真正体会到了“环境顺了写代码就有了手感”。所以这步被你顺利走完之后的Qt之路就正式开启了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑