一、创建项目
1. 选择项目模板
操作
打开 Qt Creator, 选择File -> New File or Project -> Application (Qt) -> Qt Widgets Application
简单介绍
简单的解释一下,为什么创建项目是选择 Application (Qt) -> Qt Widgets Application
| 项目种类 | 介绍 |
|---|---|
| Application (Qt) | C++ Qt桌面应用 |
| Application (Qt Quick) | C++ Qt创建跨平台的用户界面应用程序(包含移动设备,桌面,嵌入式系统) |
| Application (Qt for Python) | Python Qt桌面或跨平台应用 |
| Library | 库类型(包含动态库,静态库) |
| Other Project | 不需要了解 |
| Non-Qt Project | 不需要了解 |
上面简单列了 Qt创建项目中都有什么项目种类,各种项目种类下还有不同的模板,我就介绍 Application(Qt)下的模板,其他的我就不介绍了,介绍太多反而混淆大家的视觉
| 项目类型 | 模板 | 介绍 |
|---|---|---|
| Application(Qt) | Qt Widgets Application | 这种类型的应用程序是传统的桌面应用程序,使用Qt Widgets库来创建图形用户界面(GUI)。这意味着你可以创建窗口、对话框、按钮、文本框等传统的GUI元素,用于构建具有图形用户界面的应用程序。 |
| Application(Qt) | Qt Console Application | 这种类型的应用程序是控制台应用程序,通常用于命令行界面。它们没有可见的图形用户界面,而是在控制台中进行输入和输出。这种类型的应用程序通常用于执行命令行任务、处理文本数据、自动化任务等。 |
我目标很明确就是想要用C++写桌面应用,刚好QT提供了便捷的桌面GUI库,所以就直接锁定了 Application(Qt) -> Qt Widgets Application。
题外话:有些人可能会想,为啥不用Application(Qt Quick)写跨平台应用程序,可以在移动端,桌面端,嵌入式系统用。emmmmm,道友贪心了点,主要当前我的目的就是写一个桌面应用,并且想学习C++已久,所以这么选择,道友要明确自己的想法哈。
不过,要是真想写跨平台应用,我十足的不建议使用Qt,我觉得可以试试 Unity引擎,或许可以满足你的需求。
2. 选择路径与项目命名
操作
简单介绍
这里没什么好介绍的。
啰嗦一下:以我撸代码这么久的经验,能把以下两点做好的人,都是代码人力很强的人。因为他们对这个项目架构有很大的大局观,才能对每个命名 和 文件放置的位置做到恰到好处。所以各位道友得重视起来这个问题!
- 命名:变量命名,项目命名,数据表命名等
- 分类:项目结构分类,文件结构分类等
3. 构建工具选择
操作
简单介绍
看到Qmake是不是有点好奇,我也多嘴一下,简单解释解释。
| 构建工具 | 介绍 | 语法和配置文件 |
|---|---|---|
| qmake | Qt 框架的一部分,专门用于构建 Qt 应用程序。Qt 是一个跨平台的 C++ 库,用于开发图形用户界面应用程序和其他类型的应用程序。 | 使用 .pro 文件来描述项目配置和构建过程。.pro 文件使用一种独特的语法来定义项目的源文件、依赖关系和构建选项。 |
| cmake | 不依赖于任何特定的框架或库,因此可以用于构建各种类型的 C/C++ 项目,包括 Qt 项目 | 使用 CMakeLists.txt 文件来描述项目配置和构建过程。CMakeLists.txt 文件使用一种更标准的 CMake 语法来定义项目的组织结构、源文件、目标和依赖关系 |
看到上面解释,你就知道,你可以选择qmkae,也可以选择cmake,纯属个人喜好,这只是个构建工具的选择。两者都可
以满足项目构建的需要
这里吐槽一下:C++ 的构建工具是真的不友好,体验过Java 的maven和gradle后,觉得确实麻烦。不过,你换个角度想,需要你做的越多,你能思考的东西越多。只能说有利有弊。但是还是很狠不喜欢C++的构建工具一波。
4. main文件命名
操作
简单介绍
这里是默认配置,我就不改动啥了
5. 选择多语言配置
操作
简单介绍
Translation File 步骤的目的是为了创建用于国际化(i18n)和本地化(l10n)的翻译文件。就看你的程序是否需要多语言支持,不需要就直接选择none即可
6. 选择编译工具
操作
简单介绍
这一步是编译器的选择,下面列表有个编译器得简单介绍
| 编译器 | 介绍 |
|---|---|
| MinGW | inGW是一个开源的工具链,它使用GNU编译器集合(如GCC)来构建应用程序。MinGW提供了一组开源的工具,允许开发者在Windows平台上使用类Unix的编程环境。它通常包括GNU编译器、调试器(如GDB)、文本编辑器等。 |
| MSVC | MSVC是Microsoft的官方C/C++编译器,包括了Visual Studio集成开发环境(IDE)。MSVC编译器是专为Windows平台开发的,与Windows操作系统更紧密集成,提供了Microsoft特有的编译和调试工具。 |
吐槽一下:创建项目,构建工具要选,编译器还要选,烦不烦。。。我电脑中两个编译器都有,所以就会有两个选择,看各位安装了哪个编译器咯。选其中一个即可
7. 选择版本管理工具与添加子项目
操作
简单介绍
这个就是是否选择版本控制,还是默认none就好
二、项目代码详解
1. 代码结构
如下图
2. HelloQt.pro
代码中有详细的解释,要是第一遍看不懂,照抄敲一遍,不行再敲一遍,牢记脑海中,以后自会有顿悟的时候
3. mainwindow.h
不要看注释很多,但是真的是我觉得有必要写出来给大家看的!想要掌握C++,Qt,一定不要放过每个你不懂的点,弄清楚了你不懂的,QT和C++就畅通无阻了,就跟拉大便一样,其实卡点就那么几个地方!
4. main.cpp
这个就简单很多了,不过,还是那句话,不要放过任何一个疑惑的地方
5. mainwindow.cpp
里面有很多,前面已经讲过了,所以就讲解一下,没讲过的。
5. mainwindow.ui
这个我就不展示了,大家随意画画。
三、项目代码运行
操作
正常来说,你的电脑会与图中相同,有运行的按钮,异常情况我没有遇到,所以没办法去演示解决,要是有兄弟遇到的可以问问我,我尽量帮忙解决
运行效果
我没有做任何UI修改,所以是一个空白窗口
四、啰嗦一下
希望能帮助到各位,第一次正式写文章,应该会有很多让各位晦涩难懂的地方,也会有些错误的地方。有啥问题欢迎评论区指出。