基于VS平台的QT开发全流程指南
本篇用于记录QT开发软件的流程,包括qt安装,开发流程,exe打包,为后期使用提供方便的参考。其实,学完开发的全流程,然后自己多练几个项目,就可以去某鱼上接单了。上学期间会有一些单子但不多,不过也可以赚一点外快,但主要还是多学一项技能。
1.QT简介
QT 是一个跨平台的应用程序开发框架,用于开发图形用户界面(GUI)程序以及非图形程序(如控制台工具)。它由 Qt Company 开发,支持多种操作系统平台,包括 Windows、macOS、Linux 和嵌入式系统。QT 的核心特点包括:

跨平台性:因为QT 提供了统一的开发接口,所以开发者编写的代码能够在多个平台上运行,无需修改代码。
丰富的类库:QT 提供了大量的类库,支持 GUI、文件操作、数据库连接、网络通信、多线程等功能,这样在开发类似串口助手,网络助手等软件就变得很简单。
支持多种开发语言:虽然 QT 使用 C++ 作为主要编程语言,但它也提供了对 Python(PyQt)、JavaScript(Qt Quick)等语言的绑定支持。
目前,我主要使用 C++ 语言开发,并且仅在 Windows 平台上进行过软件开发,其他平台和语言的使用还没有深入接触。
2.QT安装
在了解QT是什么,有什么用之后,就是安装QT了。这也是一件比较麻烦的事情。首先需要明确的是,Qt本质上是一个跨平台的C++应用程序开发框架,而不是一个完整的开发环境。Qt框架本身包含以下几个重要组成部分:
- Qt库:包括GUI、网络、数据库、XML处理等模块
- Qt工具:如qmake构建系统、Qt Designer界面设计器等
- Qt文档和示例代码
最常用的 Qt 集成开发环境(IDE)是 Qt Creator,它是专门为 Qt 开发优化的跨平台 IDE。如果是初学者的话,我认为学习 Qt Creator 会更为合适。尽管在代码上差别不大,但安装库的方式有所不同,而且 Qt Creator 的使用人群相对较多。此外,在下载 Qt 时,只需勾选上 Qt Creator,安装过程就会自动配置好环境,省去了重新配置的麻烦,简单高效。
不过,由于我已经习惯使用 Visual Studio,因此选择了下载 Qt 后自己手动配置环境。其实,配置起来也并不复杂,因为我已经安装好了,不打算卸载重新来一次。所以,我在这里附上了我参考的安装文章,供大家参考。
【保姆级图文教程】最新Windows系统QT下载、安装、入门、配置VS Qt环境,图文详细、内容充实-CSDN博客https://blog.csdn.net/qq_62888264/article/details/132645054?fromshare=blogdetail&sharetype=blogdetail&sharerId=132645054&sharerefer=PC&sharesource=m0_69500424&sharefrom=from_link 需要提醒的是,记得下载 Qt 的开源版本,否则只能使用一段时间。此外,Qt 有多个版本,如图 1 所示。
以下是与不同 Visual Studio 版本匹配的 Qt 版本:
- VS2015 —— Qt 5.6、5.7 、5.9
- VS2017——Qt 5.9 ~Qt 5.14
- VS2019/VS2022 —— Qt 5.14 ~ Qt 6
另外,关于 C++ 编译器环境的选择,如图 2 所示。

Qt 作为一个 C++ 开发框架,需要有 C++ 编译器的支持。在 Windows 上,可以使用 MSVC(我使用的是这个),也就是 Visual Studio 的 C++ 编译环境,或者使用 MinGW,它是类 Linux 的 C++ 环境。在 Linux 上,则使用 g++/gcc,而在 macOS 上,则使用 clang。
3.VS中使用QT开发全流程
流程图
开发流程图,如图3所示。

创建项目
打开VS,然后点击“创建新项目”:
点击QT的模板,然后点击“下一步”。
为项目命名并选择项目的位置,然后点击“创建”。
下图中分别是QT的 版本,然后选择debug模式编写,后面三个类是常用的类,如果想用其他的类可以再后面中添加。
这里直接以项目名作为类,也可以改成其他名字,然后点击“finish”。
创建完之后,就进入下面的界面。
first_app.ui:界面设计,点开之后就可以设计界面;
first_app.cpp:类的函数,写代码时函数就在这里写;
main.cpp:主函数,写代码的时候如果不写多界面,则可以不用理;
设计界面
双击first_app.ui,进入Qt Design.
选择需要的控件,并设计好界面,然后按“ctrl + s”保存。
保存之后,回到VS中,目前还没有编译ui,还没生成对应的ui空间变量。
右键first_app.ui,选择编译,就可以产生控件变量,如下:
声明函数
在first_app.h中(在first_app.cpp中按住ctrl,点击first_app.h就可以进入first_app.h),用private slots:来声明函数,这是固定的格式。这样的函数就是first_app类的成员变量。
然后回到first_app.cpp写出对应的函数void first_app::on_pushButton_clicked(),函数名是自定义的。
信号连接槽函数
信号连接槽函数用connect(),用法如下:
connect(ui->pushButton_start, &QPushButton::clicked, this, &first_app::on_pushButton_Start_clicked);
- 信号源ui->pushButton_start :信号的发射者,即监听的按钮控件。
- 信号&QPushButton::clicked :监听的信号类型,在这个例子中是按钮的点击事件(clicked() 信号)。
- 接收者对象this :接收信号的对象,表示当信号发射时,槽函数将在 first_app 类中执行。
- 槽函数&first_app::on_pushButton_Start_clicked :要执行的槽函数,在按钮点击时被调用
当不了解信号源可以监听哪些信号类型时,可以直接问ai,有奇效。
调试并运行
添加exe图标以及主窗口的图标
没有bug之后就可以添加图标了。在此之前可以先在窗口中添加软件名:
窗体添加图标
先添加图标资源。
然后会看到添加进来的图标:
右键点击新加的图标,复制路径,粘贴到windowlcon的主题中,然后保存“ctrl + s”:
此时运行就可以看到窗口的图标了:
添加exe图标
先将想作为图标的图片转为ico,对应的网站如下:
https://www.freeconvert.com/zh/png-to-ico/download
在项目中右键,然后选择“添加”,点击“资源”。
添加成功之后,在项目中可以看到添加进来的ico图标。
如果添加有问题,则需要先删除原有的图标工程也就是.rc文件,然后再添加新的图标。
生成exe并打包软件
生成exe
将debug模式换成release模式,然后点击运行:
在没有运行前是没有Release文件夹的:
运行之后会自动生成Release文件夹,在其目录下还生成了exe软件。
如果没有在Release的文件下生成exe文件,则可以按一下步骤解决问题:
(1)右键点击eth_app,然后选择属性
(2)点击常规,选择浏览,然后选择Release文件夹。
此问题的参考资料:https://blog.csdn.net/qq_57259389/article/details/135256173
需要注意的是此时生成的exe文件还是依赖本地安装的Qt库,并没有将这些库文件打包都exe中,还需要用Enigma Virtual Box软件打包。
打包软件
首先执行cmd指令,将 Qt 应用程序的所有必要的依赖库和插件打包到最终生成的可执行文件(.exe)旁边,方便后续软件打包。
D:\Application\Qt\install\6.5.3\msvc2019_64\bin\windeployqt.exe D:\QT\pro\first_app\x64\Release\first_app.exe
第一条命令是 调用 windeployqt 工具 的路径,指明了工具的位置。 第二条指令中的windeployqt 将会分析这个 first_app.exe 文件,查找它所依赖的 Qt 库和插件,并将这些文件一并复制到与该 .exe 文件相同的目录中。执行结果:
接下来,用用Enigma Virtual Box软件打包。首先打开软件,选择要打包的exe,并指定打包好后exe保存的位置和名字,(输出)也可以默认,如下:
点击添加,添加文件夹递归选择当前放置.exe文件的文件夹(Release)弹出对话框点击确定
点击文件选项,勾选压缩文件,点击确定:
点击运行:
等待打包完成,关闭软件即可。
运行完成之后会在刚刚指定的生成目录下生成打包好的exe软件。新出现的这个程序就是有动态编译库的文件,可以在没有装环境的计算机中运行。
点击运行:
至此一个基于Qt框架的软件就算开发成功了。
4.学习资料
在学习 Qt 的过程中,我基本上是按照教程逐步学习了 Qt 的各个控件,这个教程内容非常全面。今天我想在这里与大家分享一下。
C++ Qt开发:ComboBox下拉组合框组件_qt下拉框控件-CSDN博客文章浏览阅读2.1w次,点赞37次,收藏52次。在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。该组件提供了一种方便的方式让用户从预定义的选项中进行选择,一般来说`ComboBox`会以按钮的形式显示在界面上,用户点击按钮后,会弹出一个下拉列表,其中包含预定义的选项。当然`ComboBox`不仅局限于选择,也允许用户手动输入内容。_qt下拉框控件https://lyshark.blog.csdn.net/article/details/134995874?spm=1001.2014.3001.5502 学习完这个教程就可以独立开发一些软件了,我觉得还挺有用的。
以上就是本次记录了,Qt真的很好玩,有兴趣的同学可以学学。还有欢迎加我为好友(QQ:235840795),一起交流与学习!