Qt开发工作
目录
一、Qt 开发概述
Qt 是一个跨平台的 C++ 图形用户界面应用程序开发框架,在软件工业界有着广泛的应用。它由 Qt Company 开发和维护,提供了丰富的工具和库,使得开发者能够轻松构建高效、美观的应用程序。
Qt 具有众多突出的特点。首先,它具有强大的跨平台支持能力,可以在多种操作系统上运行,包括 Windows、macOS、Linux、iOS、Android 等。这意味着开发者只需编写一次代码,就可以在多个平台上编译和运行,极大地提高了开发效率。
Qt 提供了丰富的用户界面组件,能够满足构建复杂用户界面的需求。同时,支持自定义控件和样式,开发者可以根据特定的设计要求进行个性化的界面设计。
信号和槽机制是 Qt 特有的事件处理机制,它允许对象之间进行松散耦合的通信。这种机制简化了事件处理和回调的实现,使得代码更加简洁易读。
在模型视图编程方面,Qt 提供了模型 - 视图 - 控制器(MVC)的实现,有助于分离用户界面逻辑和数据处理逻辑。它支持各种数据模型,如表格、树形结构等,为数据的展示和处理提供了便利。
Qt 还具备强大的图形和多媒体支持,支持 2D 和 3D 图形渲染,提供了多媒体处理的类库,可以处理音频和视频。此外,它还支持国际化和本地化,能够轻松地将应用程序翻译成不同的语言,适应不同地区的用户需求。
在数据库支持方面,Qt 提供了对多种数据库的访问支持,如 SQL、NoSQL 等。网络编程方面,它提供了一套完整的网络编程类库,支持 TCP/IP、UDP、HTTP 等协议。
Qt Creator 是一个强大的集成开发环境(IDE),为开发者提供了代码编辑、调试、项目管理等功能。同时,Qt 拥有详尽的官方文档和活跃的社区支持,为开发者提供了丰富的学习资源和技术支持。
Qt 既提供开源版本(LGPL 许可),也提供商业许可,适合不同的开发需求和商业模式。其模块化架构允许开发者根据需要选择和使用特定的模块,有助于减少最终应用程序的大小和复杂性。
Qt 框架因其强大的功能和灵活性而被广泛应用于桌面应用程序、嵌入式系统、移动设备和跨平台开发中。它的跨平台能力和丰富的组件库使得它成为开发复杂应用程序的理想选择。
二、Qt 开发工具推荐
1. Qt Creator
Qt Creator 是面向 Qt 开发者的官方集成开发环境,支持跨平台开发,包括但不限于 Windows、MacOS、Linux。它提供了一个用户友好的界面和丰富的开发工具,包括代码编辑器、调试器、UI 设计器等,极大提升了开发效率。
Qt Creator 作为 Qt 开发的核心工具,具有诸多亮点。首先,其内置的 Qt Designer 允许开发人员通过图形界面创建和修改用户界面,无需手写代码,这大大加速了开发流程,使得原型设计和迭代变得轻而易举。其次,代码智能提示功能基于当前代码语境提供方法和属性的自动完成建议,减少了查阅文档的需求,显著提高了编写代码的速度和准确性。
Qt Creator 的跨平台能力使其在开发者中备受欢迎。开发者可以在一个开发环境中创建可在 Windows、Mac OS X、Linux 等多种操作系统上运行的应用程序。强大的跨平台编译器,如 MinGW 和 MSVC 在 Windows,GCC 在 Linux,以及 Clang 在 Mac OS X,保证了在不同平台上的高性能表现。
此外,Qt Creator 还集成了开发和调试工具。集成调试器支持多种编程语言,包括 C++ 和 QML,能够提供详细的调试信息,帮助开发者快速定位和解决问题。调试工具与 Qt Creator 紧密集成,无需外部插件或软件,为开发者提供了极致的便利性和高效性。
Qt Creator 的可扩展性也是其受欢迎的重要原因之一。开发者可以根据需要安装各种插件,以增强 IDE 的功能。从版本控制(如 Git、Subversion)到代码分析和性能评估工具,扩展插件系统让 Qt Creator 能够适应各种各样的开发需求,使其成为一款极具灵活性和适应性的开发工具。
最后,Qt Creator 背后强大的社区和丰富的文档资源为开发者提供了大量的学习资源、示例项目和开发指南,帮助用户克服开发过程中遇到的挑战。而详细的官方文档则涵盖了从安装配置到高级编程技巧的方方面面,为使用 Qt Creator 的开发者提供了宝贵的指导和参考。
2. CMake
CMake 作为一个开源的、跨平台的构建系统,在 Qt 项目中扮演着重要角色。它用简洁的语法描述了项目的编译链接流程,自动化处理了复杂的构建任务。
在 Qt 项目中,CMake 可以被用来管理和构建项目,提供了一种灵活而强大的构建方式。通过 CMakeLists.txt 文件来配置项目,它能够生成标准的构建文件,如 Makefile,从而使得项目能够在不同的平台和开发环境下被构建。CMake 的使用提高了项目的可移植性与可维护性,是 Qt 开发中不可忽视的部分。
3. Qt 工具集
包括 qmake、uic、rcc 等工具,qmake 可以生成跨平台的项目文件和 Makefile,uic 根据.ui 文件生成 C++ 代码头文件,rcc 负责编译资源文件。
Qt 工具集中的 qmake 是 Qt 开发最核心的工具,既可以生成 Qt 项目文件.pro,也可以自动生成项目的 Makefile 文件。uic 根据.ui 文件生成用于创建用户界面的 C++ 代码头文件,极大地简化了用户界面的开发过程。rcc 负责编译资源文件,确保项目中的资源能够被正确地加载和使用。这些工具相互配合,为 Qt 开发者提供了高效的开发环境。
三、Qt 开发的优势
1. 跨平台特性
Qt 拥有优良的跨平台支持,可以在众多操作系统上运行,包括 Microsoft Windows、Linux、Solaris、HP-UX、FreeBSD、QNX 等等。这使得开发者可以轻松地将应用程序部署到不同的平台上,提高开发效率和覆盖范围。强大的跨平台特性支持多种操作系统,如 Windows、macOS、Linux、iOS 和 Android 等,对于开发者而言,这意味着使用 Qt 进行开发的应用程序易于移植到不同的平台,大大缩短了产品上市时间和降低了成本。
2. 面向对象设计
Qt 以面向对象的思想为基础,具备良好的封装机制,模块化程度高,可重用性强。开发者可以通过 Qt 提供的信号与槽(signals/slots)机制实现模块间的协同工作,简化了代码的编写和维护,提升了开发效率。Qt 采用良好的封装机制,模块化程度高,可重用性强,使开发人员能够更方便地构建和管理代码。Qt 提供了一种安全类型的信号槽机制,替代了传统的回调函数,简化了组件之间的协作。
3. 丰富的 API 支持
Qt 提供了丰富的 API,包括 250 多个 C++ 类,涵盖了各个方面的功能,如集合类、序列化、文件和 I/O 设备处理、目录管理、日期 / 时间处理,甚至包括正则表达式和 XML 支持。Qt 还支持 2D/3D 图形渲染和 OpenGL,提供了大量的开发文档和资源,使开发者能够高效地构建功能强大的工业软件。Qt 拥有 250 多个 C++ 类,提供基于模板的集合、序列化、文件、I/O 设备、目录管理、日期 / 时间等功能。此外,Qt 还支持 2D/3D 图形渲染和 OpenGL,提供大量的开发文档和 XML 支持,为开发人员提供了丰富的工具和资源。
四、Qt 开发遇到的问题及解决方法
1. 编译错误处理
在 Qt 开发中,编译错误是常见的问题。遇到编译错误时,应从第一个错误开始解决,因为后面的错误可能是由前面的错误引起的。例如,当安装了两个 Qt 版本时,可能会出现编译错误。解决办法包括右键选中编译出错的工程,选择 “Convert project to QMake generated project”,然后在弹出的对话框中选择 “Yes”。接着,右键选中工程,选择 “Change project’s Qt Version”,在弹出的对话框中设置正确的 Qt 版本。此外,对于编译错误 “Moc'ing qt1.h... 系统找不到指定的路径”,可以右键选择 qt1.h,在属性对话框中修改‘自定义生成步骤’--》' 常规 '--》’命令行‘中 moc.exe 的路径,最好修改成 $(QTDIR)\bin\moc.exe。
2. 定时器的使用
在 Qt 开发中,定时器有多种使用方法。QTimer::singleShot 有时能解决意想不到的问题,比如当只需要定时器触发一次时,可以使用 setSingleShot (true) 来设置定时器为单次模式。例如:QTimer timer = new QTimer (this);timer->setSingleShot (true);connect (timer,&QTimer::timeout, this,&MyClass::onTimeout);timer->start (1000); 在 1000 毫秒后触发一次定时器超时事件。此外,还可以使用 QObject 的定时器和 QTimer 类定时器。QObject 的定时器使用 startTimer () 函数启动一个定时器,并在派生类中实现 timerEvent (QTimerEvent) 函数来处理定时器事件。QTimer 类定时器则是创建一个 QTimer 对象,然后使用 start () 函数来启动定时器,使用 timeout () 信号连接到槽函数来处理定时器超时事件。
3. 配置多线程编译
在 Qt Creator 的构建套件环境中增加 MAKEFLAGS=-j8,可以实现多线程编译,提高编译速度。具体操作是在工具 -> 选项 -> 构建套件 (kits)-> 选中一个构建套件 ->environment-> 右侧 change 按钮 -> 打开的输入框中填入 MAKEFLAGS=-j8。这样就可以不用每次设置多线程编译,只要是应用该构建套件的项目都会加上这个编译参数。注意,-j 后面接的是电脑的核心数,写多了不会有效果,要自己看下电脑的参数。
4. 部署安卓程序
部署安卓程序需要先在 Android Studio 中配置成功。具体步骤如下:安装必要的软件,包括 Qt Creator 4.14 或更高版本、Android Studio、JDK 8。在安装完成后,设置正确的环境变量。然后,配置 Qt Creator,打开 Qt Creator 并选择 “工具”->“选项”->“设备”->“Android” 选项卡,在这里指定 Android SDK 和 NDK 的路径,以及 JDK 的路径,还需要指定 Qt 的版本和构建套件。完成此操作后,单击 “应用” 按钮保存更改。最后,创建 Qt 项目。
5. 函数重载的探索
查看函数的重载,可能会发现新的功能。在 Qt 开发中,可以通过查看函数的不同参数列表和返回值类型,来探索函数的重载。函数重载可以让同一个函数名在不同的情况下执行不同的操作,提高代码的灵活性和可读性。
6. 项目版本号和图标设置
在 pro 文件中设置版本号和图标。可以通过在 pro 文件中添加 VERSION 和 ICON 关键字来设置项目的版本号和图标。例如:VERSION = 1.0.0,ICON = myicon.ico。这样可以方便地管理项目的版本信息和图标资源。
7. 管理员运行程序
在 MSVC 编译器中进行特定设置,可以让程序以管理员身份运行。具体设置方法可以参考 Qt 的官方文档或者相关的开发论坛。以管理员身份运行程序可以获得更高的权限,从而可以访问一些受限制的资源。
8. 运行文件附带调试输出窗口
在配置中添加 console pro,可以让运行文件附带调试输出窗口。这样可以方便地查看程序的运行状态和调试信息。在 Qt Creator 中,可以通过在项目的构建配置中添加 console pro 来实现这个功能。
9. 绘制特定图形
使用正确的函数绘制平铺背景和圆角矩形。在 Qt 中,可以使用 QPainter 类的函数来绘制各种图形。例如,使用 drawTiledPixmap () 函数可以绘制平铺背景,使用 drawRoundedRect () 函数可以绘制圆角矩形。通过正确地使用这些函数,可以实现各种复杂的图形绘制效果。
10. 移除旧样式和设置新样式
通过 unpolish 和 polish 方法实现移除旧样式和设置新样式。在 Qt 中,可以使用 QStyle 的 unpolish () 和 polish () 方法来移除旧样式和设置新样式。这样可以方便地实现界面的样式切换和定制。
11. 获取类的属性
利用 QMetaObject 遍历类的属性。在 Qt 中,可以使用 QMetaObject 类的 functions ()、properties () 等方法来遍历类的属性。这样可以方便地获取类的各种信息,从而实现更加灵活的编程。
12. 使用 Qt 内置图标
Qt 内置的图标可以直接在 QStyle 中使用。在 Qt 中,QStyle 提供了一些内置的图标,可以直接在界面设计中使用。例如,可以使用 QStyle::StandardPixmap 枚举类型来获取内置图标,然后使用 QIcon 类的 fromTheme () 方法来创建图标对象。
13. 根据操作系统位数加载
通过判断宏定义加载不同的路径。在 Qt 开发中,可以通过判断宏定义来加载不同的路径,以适应不同的操作系统位数。例如,可以使用 Q_OS_WIN、Q_OS_LINUX 等宏定义来判断操作系统类型,然后根据不同的操作系统类型加载不同的路径。
14. 安全性验证问题
出现 setGeometry 错误时,将控件的可见移到加入布局之后。在 Qt 开发中,当出现 setGeometry 错误时,可能是由于控件的可见性设置不当导致的。将控件的可见性设置移到加入布局之后,可以解决这个问题。这样可以确保控件在正确的位置和大小显示,提高程序的安全性和稳定性。
15. 控件组合
灵活运用布局提高控件的组合度。在 Qt 中,可以使用各种布局来管理控件的位置和大小。通过灵活运用布局,可以提高控件的组合度,使界面更加美观和易于维护。例如,可以使用 QVBoxLayout、QHBoxLayout 等布局来垂直或水平排列控件。
16. 设置 QLCDNumber 样式
将 QLCDNumber 的 segmentstyle 设置为 flat。在 Qt 中,可以使用 QLCDNumber 类来显示数字。通过将 QLCDNumber 的 segmentstyle 设置为 flat,可以使数字显示更加清晰和美观。
17. 查找子控件
使用 findChildren 方法查找控件下的所有子控件。在 Qt 中,可以使用 QObject 的 findChildren () 方法来查找控件下的所有子控件。这样可以方便地访问和操作子控件,实现更加复杂的界面设计。
18. 判断类的继承关系
使用 inherits 方法判断是否属于某种类。在 Qt 中,可以使用 QObject 的 inherits () 方法来判断一个对象是否属于某种类。这样可以方便地进行类型判断和多态编程。
19. 使用弱属性机制
存储临时值用于传递判断。在 Qt 中,可以使用 QObject 的 setProperty () 和 property () 方法来设置和获取对象的属性。通过使用弱属性机制,可以存储临时值用于传递判断,实现更加灵活的编程。
20. 样式表管理
正式项目中应统一管理样式表,避免到处设置 setStyleSheet。在 Qt 开发中,样式表可以用来美化界面和实现界面的定制化。在正式项目中,应该统一管理样式表,避免到处设置 setStyleSheet,这样可以提高代码的可读性和可维护性。
21. 解决特定错误提示
删除 ui 文件中特定的空标签。在 Qt 开发中,有时会出现特定的错误提示。解决这些错误提示的方法之一是删除 ui 文件中特定的空标签。这样可以消除错误提示,使程序正常运行。
22. 利用 QComboBox 的用户数据
通过 addItem 的第二个参数设置用户数据。在 Qt 中,QComboBox 可以用来显示下拉列表。通过 addItem 的第二个参数,可以设置每个选项的用户数据。这样可以方便地存储和获取与每个选项相关的额外信息。
23. 发布含 webengine 模块的程序
带上特定文件和文件夹。在发布含 webengine 模块的程序时,需要带上特定的文件和文件夹,以确保程序能够正常运行。具体需要带上哪些文件和文件夹,可以参考 Qt 的官方文档或者相关的开发论坛。
24. 设置独立句柄
设置属性让每个控件拥有独立句柄。在 Qt 中,可以通过设置属性让每个控件拥有独立句柄。这样可以方便地对每个控件进行操作和管理,提高程序的灵活性和可维护性。
25. Qt+Android 防止程序被关闭
根据平台选择不同的运行方式。在 Qt+Android 开发中,可以根据平台选择不同的运行方式来防止程序被关闭。例如,在 Android 平台上,可以使用 Service 来实现后台运行,从而防止程序被关闭。
26. 设置整体指示器样式
通过特定样式设置整体的指示器。在 Qt 中,可以通过特定样式设置整体的指示器,以实现更加美观和易于使用的界面。例如,可以使用 QStyle 的 setIndicator () 方法来设置指示器的样式。
27. 设置背景图片
执行位置设置背景图片。在 Qt 中,可以使用 QPainter 类的 drawPixmap () 方法在指定位置绘制背景图片。通过正确地设置背景图片,可以使界面更加美观和个性化。
29. Qt Creator 配置文件问题
删除有问题的配置文件,让 Qt Creator 自动重新生成。在 Qt Creator 开发中,如果出现配置文件问题,可以尝试删除有问题的配置文件,让 Qt Creator 自动重新生成。这样可以解决一些由于配置文件损坏或错误导致的问题。
五、Qt 开发教程
1. Qt 安装
Qt 的安装方式主要有离线安装和在线安装两种。
离线安装:离线安装相对较为简单,只需要下载对应的安装包,然后按照安装向导进行操作即可。具体步骤如下:首先,从 Qt 官网下载所需版本的离线安装包;接着,运行安装包,按照提示逐步进行操作,如选择安装路径、选择需要安装的组件等;最后,等待安装完成即可。
在线安装:在线安装需要使用 Qt 提供的在线安装工具。首先,从 Qt 官网下载在线安装工具。安装过程中,可能需要注册 Qt 账号并登录。在线安装的优点是可以选择最新的版本和特定的组件进行安装,但安装速度可能会受到网络状况的影响。如果在线安装速度较慢,可以尝试以下方法来解决:
- 使用加速工具 fiddler 进行配置。下载并安装 fiddler,然后将 qt 安装包的下载地址替换为国内镜像源,如清华的镜像源(mirrors.tuna.tsinghua.edu.cn/qt)。具体操作是在 fiddler 中执行 “urlreplace download.qt.io mirrors.tuna.tsinghua.edu.cn/qt” 命令。
- 从国内镜像源下载在线安装工具。例如,从 http://download.qt.io/archive/online_installers/ 下载在线安装工具后,运行安装工具,在工具主界面的左下角点击打开自定义设置,加入国内镜像源,如中国科学技术大学的镜像源(http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/)、清华大学的镜像源(https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/root/qt/)或北京理工大学的镜像源(http://mirror.bit.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/)。
2. Qt 环境变量配置
为了确保在任何位置都能打开编译出的 Qt 可执行程序,需要将特定路径添加到系统环境变量中。具体步骤如下:
- 找到 Qt 的安装路径,复制 “bin” 路径。
- 打开 “编辑系统环境变量”。
- 在 “环境变量” 中双击 “Path”,填入 “bin” 路径,然后点击 “确定”。如果是 Windows 7 系统,双击 “Path” 后,把拷贝的路径追加到后面,路径之间需要用英文分号 “;” 分隔;如果是 Windows 10 系统,界面更加友好,可以新建添加路径。
设置 Qt 的环境变量有以下好处:配置 PATH 环境变量可以让操作系统能够识别并执行不在当前工作目录下的可执行文件,提高命令执行的便捷性,让软件无需指定安装路径即可全局使用,提高工作效率,支持跨目录调用,并且可以兼容多版本需求。在 Windows 上设置 Qt 的环境变量是为了在命令行或其他应用程序中直接访问与 Qt 相关的命令和工具。
六、Qt 开发工作经验分享
1. 学习资料推荐
相关书籍:
- 《Qt Creator 快速入门》:作者霍亚飞,通俗易懂,适合 Qt 新手学习,配套还有《Qt 及 Qt Quick 开发实战精解》。
- 《精通 Qt4 编程》:适合在入门后进一步学习,讲解深入。
- 《C++ GUI Qt4 编程》:较为高级,不适合新手,被很多人认为是经典书籍。
- 《Qt 高级编程》:老外所写,技术含量高,涵盖 Qt 高级特性和最佳实践。
- 《C++ 设计模式 -- 基于 Qt4 开源跨平台开发框架》:从架构层面谈 Qt 开发,深入讲解设计模式。
Qt 论坛:
- Qt-Centre:国外非常全面的网站,有 forum、wiki、docs、blogs 等。
- Qt-forum:比较有名的国际 Qt 编程论坛。
- Developpez:法语社区,致力于信息技术发展,提供资源和服务。
- Qt-Apps:可找到很多免费 Qt 应用及源码学习。
- KDE-Apps:有许多 KDE-Desktop 相关应用。
- Qt Software:提供第三方商业软件和开源软件的 Qt 用户社区。
- QUIt Coding:由享受前沿技术开发的人才组成,Qt 官方大使项目成员。
- QTCN 开发网:国内最早、最活跃的 Qt 中文社区,内容丰富,在线人数多,有热心 Qt 爱好者帮助初学者。
- Qter 开源社区:致力于 Qt 普及,有实用开源项目、作品和优秀原创教程。
个人博客:
- 一去丶二三里:纯正开源之美,有趣、好玩、靠谱。
- 齐亮:修身 -“齐家”- 治天下,《Qt 学习之路》系列很不错。
- 豆子:Colorful Technologies。
- foruok:关注程序员职业规划。
- QtDebug:用自己的方式演绎编程,人生如戏,全靠演技。
网站和群:
- Qt 官网:https://www.qt.io,提供下载、文档、WiKi 等资源。
- GitHub 上的 QtProject:各种强大的 Qt 项目及丰富的 Qt 库。
- Awesome Qt:一系列强大的 C/C++ 框架、库、资源等。
- inqlude:Qt 库存档,为 Qt 应用程序开发人员提供所有现有的库。
- free-programming-books-zh_CN:包含 Qt 相关学习资源。
2. 开发经验总结
编译错误处理:
在 Qt 开发中,编译错误是常见问题。遇到编译错误时,应从第一个错误开始解决,因为后面的错误可能是由前面的错误引起的。例如,当安装了两个 Qt 版本时,可能会出现编译错误。解决办法包括右键选中编译出错的工程,选择 “Convert project to QMake generated project”,然后在弹出的对话框中选择 “Yes”。接着,右键选中工程,选择 “Change project’s Qt Version”,在弹出的对话框中设置正确的 Qt 版本。此外,对于编译错误 “Moc'ing qt1.h... 系统找不到指定的路径”,可以右键选择 qt1.h,在属性对话框中修改‘自定义生成步骤’--》' 常规 '--》’命令行‘中 moc.exe 的路径,最好修改成 $(QTDIR)\bin\moc.exe。同时,还可参考以下资料中的编译错误解决方法:
- CSDN 博客中提到的资源文件被误删导致的编译错误解决方法,如重新添加资源文件或在.pro 中注释掉对应代码后再编译。
- 解决因 Qt 版本问题导致的编译错误,如按照特定步骤转换项目为 QMake 生成项目并设置正确的 Qt 版本。
定时器使用:
在 Qt 开发中,定时器有多种使用方法。QTimer::singleShot 有时能解决意想不到的问题,比如当只需要定时器触发一次时,可以使用 setSingleShot (true) 来设置定时器为单次模式。例如:QTimer timer = new QTimer (this);timer->setSingleShot (true);connect (timer,&QTimer::timeout, this,&MyClass::onTimeout);timer->start (1000); 在 1000 毫秒后触发一次定时器超时事件。此外,还可以使用 QObject 的定时器和 QTimer 类定时器。QObject 的定时器使用 startTimer () 函数启动一个定时器,并在派生类中实现 timerEvent (QTimerEvent) 函数来处理定时器事件。QTimer 类定时器则是创建一个 QTimer 对象,然后使用 start () 函数来启动定时器,使用 timeout () 信号连接到槽函数来处理定时器超时事件。同时,使用定时器需注意跨线程问题,不能夸线程启动定时器和停止定时器,也不能在其他线程释放与定时器关联的对象。
多线程编译配置:
在 Qt Creator 的构建套件环境中增加 MAKEFLAGS=-j8,可以实现多线程编译,提高编译速度。具体操作是在工具 -> 选项 -> 构建套件 (kits)-> 选中一个构建套件 ->environment-> 右侧 change 按钮 -> 打开的输入框中填入 MAKEFLAGS=-j8。这样就可以不用每次设置多线程编译,只要是应用该构建套件的项目都会加上这个编译参数。注意,-j 后面接的是电脑的核心数,写多了不会有效果,要自己看下电脑的参数。可参考以下资料中的多线程编译配置方法:
- CSDN 博客中提到的在构建套件环境中设置 MAKEFLAGS=-j4 实现多线程编译,以及从 2019 年开始的新版本 Qt Creator 默认会根据电脑核心自动设置多线程编译。
- 博客园的 Qt Create 多核编译配置方法,可在构建套件中填写 MAKEFLAGS=-j8 使 CPU 使用 8 个核进行代码编译。