小叶-duck个人主页❄️个人专栏《Data-Structure-Learning》《C入门到进阶自我学习过程记录》《Linux操作系统从入门到实践》《Qt从入门到实践》《算法题讲解指南》--优选算法《算法题讲解指南》--递归、搜索与回溯算法《算法题讲解指南》--动态规划算法✨未择之路不须回头已择之路纵是荆棘遍野亦作花海遨游目录前言一、Qt的历史背景二、Qt 框架核心认知为什么它能成为跨平台首选2.1 什么是 Qt2.2 Qt 的核心优势2.3 典型应用案例三、Qt 环境搭建Windows/Linux 通用避坑指南3.1 Qt 的开发工具概述3.2 Qt SDK 的下载和安装3.2.1 Qt SDK的下载3.2.2 Qt SDK 的安装3.2.3 Qt 环境变量配置三. Qt Creator 使用详解3.1 使用 Qt Creator 新建项目3.1.1 新建项目3.1.2 选择项目模版3.1.3 选择项目路径3.1.4 选择构建系统3.1.5 填写类信息设置界面3.1.6 选择 Qt 套件3.1.7 选择版本控制系统3.2 Qt Creator 界面布局核心区域3.3 核心模式详解初学者须知3.4 项目核心文件解析3.4.1 .pro 文件3.4.2 main.cpp(程序入口文件包含main函数)3.4.3 widget.h/.cpp(窗口类的头文件和源文件实现窗口功能逻辑)3.4.4 widget.ui(UI 设计文件:XML 格式可视化设计的界面信息存储于此无需手动编辑)3.4.5 编译运行项目(产生的一些中间文件)四、Qt 开发核心注意事项初学者避坑结束语前言Qt作为业内公认的跨平台 GUI 开发主流框架依托一套代码即可适配多系统运行的核心能力广泛应用于桌面软件、嵌入式终端、车载交互系统等多个开发场景。对刚接触 Qt 的开发者来说入门 Qt 的关键第一步是“摸清框架核心 搞定环境搭建 熟悉开发工具”——这三项基础工作看似简单却直接影响后续项目开发效率与调试体验。本文将围绕 Qt 的核心竞争力、Windows 与 Linux 通用的跨平台环境部署、Qt Creator 开发工具详解展开讲解助力开发者快速搭建 Qt 开发知识体系为后续 UI 设计和功能开发铺路。一、Qt的历史背景二、Qt 框架核心认知为什么它能成为跨平台首选2.1 什么是 QtQt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能不仅提供丰富的 GUI 组件按钮、标签、表格等还集成了网络、数据库、多媒体、线程等核心模块。它是完全面向对象的很容易扩展。Qt为开发者提供了一种基于组件的开发模式开发者可以通过简单的拖拽和组合来实现复杂的应用程序同时也可以使用C语言进行高级开发。它的核心优势是 “跨平台兼容性”一套代码可直接运行在Windows、Linux、macOS、Android、iOS等主流系统无需针对不同平台重复开发。2.2 Qt 的核心优势跨平台无差异底层自动适配不同系统的 API开发者无需关注平台细节开发模式灵活支持可视化 UI 拖拽设计 纯代码开发兼顾新手和高级开发者生态完善内置海量组件和工具覆盖从简单桌面应用到复杂嵌入式系统的全场景内存管理友好通过 “对象树” 机制自动管理内存减少内存泄漏风险(半自动的垃圾回收能够简化内存释放也能够尽可能小的影响程序的运行效率)就业前景广阔嵌入式、车载、工业控制、桌面应用等领域需求旺盛薪资待遇优厚。2.3 典型应用案例办公软件WPS Office跨平台界面核心基于 Qt 开发通讯工具Skype全球知名的即时通讯软件多媒体工具VLC 播放器跨平台影音播放神器开发工具VirtualBox 虚拟机开源虚拟机软件嵌入式设备车载中控系统、智能家居控制面板、工业控制终端。三、Qt 环境搭建Windows/Linux 通用避坑指南3.1 Qt 的开发工具概述Qt 支持多种开发工具其中比较常用的开发工具有Qt CreatorVisual StudioEclipseQt Creator是一个轻量级的跨平台集成开发环境IDE专为使用 Qt 框架进行应用开发程序开发而设计。它是一个功能强大易于使用快速且高效的工具被广泛用于编写各种类型的应用程序如桌面应用程序移动应用程序和嵌入式系统等。Qt Creator 提供了一个可视化的界面设计器和代码编辑器可以帮助开发者更快便捷地创建复杂的用户界面和处理各种事件。它包含了调试工具版本控制工具自动完成和智能提示等功能以及支持多语言和跨平台的开发环境。Visual Studio是由微软公司开发的集成开发环境IDE。它可以用开发多种类型的应用程序。包括Windows 桌面应用程序Web应用程序移动应用程序游戏等。Visual Studio 提供了丰富的开发工具和功能包括代码和编辑器调试器自动完成代码重构版本控制等等。它支持多种编程语言如CC#Visual BasicF#Python等。Visua Studio 还可以与其他开发工具和服务集成如 Azure云服务GitHubJenkins等。Eclipse是著名的跨平台的自由集成开发环境IDE。最初主要用来 Java 语言开发但是目前亦有人通过插件使其作为其他计算机语言比如 C 和 Python 的开发工具。Eclipse 的本身只是一个框架平台但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。Qt 框架可以与 Eclipse 集成使开发者可以使用 Eclipse 的强大功能来开发 Qt 应用程序。我们后续主要使用 Qt Creator 来进行开发学习3.2 Qt SDK 的下载和安装3.2.1 Qt SDK的下载Qt 下载官网https://download.qt.io/archive/qt/国内清华源https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/进入官网的下载界面按照下面所示的流程来下载安装对应版本即可。1、打开官网进入下图所示界面2、选择需要下载的版本对Qt的讲解我们以5.14版本为例所选具体版本为5.14.23、选择 Windows 桌面应用程序3.2.2 Qt SDK 的安装1、找到下载的文件并双击注意在双击之前先断网否则需要我们注册 Qt 账号登录后才能进入下一步安装如果不断网的话就需要注册注册需要用过注册邮箱点进对应链接跳转按照流程进程注册确认这里就不演示了。2、双击之后进入如下界面3、选择安装路径时不能出现中文路径否则即使安装上也无法使用4、选择安装组件这里我们安装的是 Qt Creator。如果磁盘空间够用可以全选但是如果不够的话我们选必选的三个就行。5、选择部分组件说明其他未安装的组件在使用时可以另行添加6、同意安装协议后续一直下一步然后安装就行了3.2.3 Qt 环境变量配置1、找到 Qt 的安装路径复制 bin 路径2、编辑系统环境变量 - 高级 - 环境变量 - 配置环境变量3、编辑 - 新建 - 填入复制好的 bin 路径 - 确定4、注意在关掉所有窗口时一定要点击 确定否则上述配置无效。为什么要设置环境变量环境变量是在操作系统中一个具有特定名字的对象它包含了一个或者多个应用程序将要使用到的信息。例如 Windows 和 DOS 操作系统的 path 环境变量当要求系统运行一个程序而没有告诉它程序所在的完整路径时系统除了在当前目录下面寻找此程序外还会到 path 中指定的路径去找。在 Windows 上设置 Qt 的环境变量是为了能够在命令行或其他应用程序中直接访问 Qt 相关的命令工具。介绍一下 Qt SDK 中的关键工具三. Qt Creator 使用详解Qt Creator 是 Qt 官方集成开发环境IDE集代码编辑、UI 设计、调试、构建于一体熟悉它的核心功能能大幅提升开发效率3.1 使用 Qt Creator 新建项目3.1.1 新建项目打开 Qt Creator 在菜单栏中选中文件 - 新建文件或者项目或者使用快捷键Ctrl n或者在欢迎模式下直接点击new3.1.2 选择项目模版弹出如下对话框新建项目对话框里有五类项目模版项目模板说明ApplicationQt 应用程序包括普通窗体程序和 QtQuick 程序Library可以创建动态库、静态库以及 Qt Quick 扩展插件、QtCreator 自身插件其他项目可以创建单元测试项目、Qt4 设计师自定义控件、子目录项目等Non‑Qt‑Project非 Qt 项目。可以创建纯 C 或纯 C 项目Import Project导入项目。从版本控制系统管理的软件项目导入旧的项目常用模板说明常用的只有第一类Application。选择它在右侧会看到 Qt 应用程序的五个子模板Qt Widgets Application普通窗体模板传统基于部件的窗体界面程序。Qt Console ApplicationQt 控制台应用程序。因为 Qt 主要用于图形界面设计这个控制台项目模板基本不用。Qt for Python在Python下用 LGPL 的许可来开发源 Qt 软件。Qt Quick ApplicationQt 提供的一种高级用户界面技术使用它可以方便快速的为移动以及嵌入式设备开发流畅美观的用户界面。Qt Quick 模块是开发 QML 应用的标准库提供了使用 QML 创建用户界面所需的一切包括可视化、交互、动画、模型、视图、粒子效果以及着色效果等。选择不同的项目模板, Qt Creator 就会在后续项目创建好了之后生成不同的基础代码3.1.3 选择项目路径给 Qt 项目命令及选择保存项目的路径注意工程名和路径名中不能有中文3.1.4 选择构建系统选择 Qt 项目的构建系统使用默认的 “qmake” 即可Qt 主要构建工具对比构建工具核心特点与说明qmakeQt 原生的构建工具用于自动生成跨平台的 makefile 文件。其项目配置文件的后缀名为.pro。CMake跨平台的第三方构建工具。它本身不直接编译而是生成编译器所需的构建系统文件如 Makefile 或 Visual Studio 项目文件。QbsQt 构建套件新一代构建工具宣称比 qmake 编译速度更快。它不绑定 Qt 版本通过高级项目描述直接生成依赖表而非交给 make 工具。官方声明因市场原因Qt 已弃用 Qbs。对于 Qt 用户来说qmake仍是当前使用最广泛的构建工具CMake次之。Qbs 已被官方弃用。3.1.5 填写类信息设置界面我们先选择 Qwidget 就行Qt 窗体程序基类选择基类说明与用途QMainWindow主窗口类适用于复杂的应用程序。除了中央客户区还预设了菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等框架结构。QWidget最简单、最基本的窗体类可以作为独立的空白窗口使用也可以作为容器在其中放置多个控件来实现程序功能。是 Qt 中所有可视化组件的基类。QDialog对话框类通常用于弹窗也可作为主界面。它继承自 QWidget并增加了模态显示、返回值等适合对话框交互的特定功能。上述三个类之间的关系如下图3.1.6 选择 Qt 套件中间还有一步选择语言和翻译文件我们先不管暂时用不上。然后这里有些朋友只会显示一项就是图中框出来的而有些朋友就会我的一样有很多项原因就是最开始安装的时候配置了多个 Qt 套件但不管是哪种我们都只需要选择图中框起来的 Desktop Qt 5.14.2 MinGW 64-bitQt 套件是指 Qt 程序从编译链接到运行环境的全部工具和 Qt 类库的集合对于 MinGW 版本 Qt 程序生成和调试至少需要 MinGW 中的编译器 g自动调用链接器g 配套的基础库调试器 gdb 还有使用 MinGW 环境编译而成的 Qt 类库自身。3.1.7 选择版本控制系统点击 “下一步” 进入项目管理界面在项目管理界面可以设置作为子项目以及加入版本控制系统管理。这两个功能暂时用不到都用默认的None然后点击 “完成”。如果想把代码提交到码云或者github可以在此处选择 git 作为版本控制系统。最终效果通过上述的步骤就可以完成项目的创建了后续大家熟练之后创建一个项目其实还是很快的。项目创建完之后Qt Creator 会直接进入代码编辑模式可以看到类型下图界面3.2 Qt Creator 界面布局核心区域打开 Qt Creator 后默认进入 “欢迎模式”核心区域分为 5 部分新手需重点关注模式选择栏左侧竖排包含 “欢迎”“编辑”“设计”“调试”“项目”“帮助” 6 种模式切换不同开发场景左边栏编辑模式左侧显示当前项目的文件结构包含源文件.cpp、头文件.h、UI 文件.ui、项目配置文件.pro在编辑模式下左边竖排的两个窗口叫做”边栏”。1是项目文件管理窗口2是打开文件列表窗口。在QtCreator菜单控件---- ShowLeft Sidebar或者使用快捷键Alt 0可以控制边栏的显示和隐藏。边栏里的窗口数目可以增加边栏子窗口标题栏有一排小按钮最右边的是关闭按钮倒数第二个是增加分栏按钮可以添加多个边栏子窗口。边栏子窗口标题栏第一个控件是组合框可以选择该子窗口的功能视图类型目前可以选择8个视图类型视图类型说明项目即项目文件管理视图可以选择项目里的文件进行编辑包括 pro 文件也可以手动编辑。打开文档当前已经打开的文件列表文件名右边如果有 * 号是该文件被修改了但尚未保存。书签右击代码编辑器行号位置看到 切换书签可以给代码行添加书签方便跳转到该位置。文件系统相当于系统里的文件资源管理器可以查看项目文件夹在磁盘里的实际文件列表。类视图可以查看项目里包含的类及相应源代码文件里的成员函数、成员变量。Git Branches查看当前分支大纲编辑器所显示的当前文件的大纲列表如名字空间、类名、成员函数、成员变量等。Tests测试类型层次当前项目包含的类及其基类、派生类列表。Include Hierarchy包含视图显示当前项目里.h、.cpp 以及 Qt 类库头文件之间的包含关系。代码编辑区中间支持语法高亮、代码补全、自动对齐快捷键与 VS、Clion 兼容1和2导航按钮返回”和前进”这与网页浏览器的前进和后退按钮类似可以在之前浏览的多个代码文件或一个代码文件里多个位置之间快速切换。3标识当前显示的文件是只读还是可写一般都是可写的。4文件类型图标当前显示文件的类型这个控件其实是一个菜单按钮点击可以弹出丰富的文件处理功能菜单。5打开的文件名可以在多个打开的文件之间选择切换与边栏的打开文档”视图是对应的。6关闭当前显示的文档。7为当前显示的文件添加额外的C预处理指令一般用不着。8选择符号可以在当前显示的文件里多个函数、类、成员变量等之前快速切换与边栏”大纲视图是对应的。9编辑区光标的行号和列号。10代码编辑区分栏可以增加多个编辑器窗口显示多个打开的文档或显示较大源码文件的多个位置。行首区主要用来显示代码行号以及调试断点标志和代码书签标志。右击行首区可以弹出右键菜单菜单里可以切换书签、编辑书签以及设置或取消断点。同一行是既可以打断点也可以设置书签的二者不冲突其实它们根本就没关系。单击行号前面的浅灰色空白区可以直接打断点再次单击可以取消断点另外也可以用快捷键F9设置或取消断点。代码书签一般用右键菜单来设置也可以用快捷键CtrlM设置或取消书签。编辑区写代码的区域。UI 设计区设计模式可视化拖拽 UI 组件的核心区域所见即所得双击widget.ui文件QtCreator会自动进入设计模式可以对图形界面进行可视化编辑1组件选择窗口。组件选择窗口分为多个组如Layouts、Buttons、DisplayWidgets等界面设计的常见组件都可以在组件选择窗口中找到。2UI设计窗口。如果要将某个组件放置到该窗口上时从组件选择窗口上拖放一个组件到窗体上即可。3动作编辑窗口。动作编辑窗口包括Action Editor 以及 Signals和 Slots编辑器。Action Editor主要是用来新建Action并且通过拖拽的动作将新建好的Action添加到菜单栏和工具栏上;Signals和Slots编辑器用于可视化地进行信号与槽的关联。4对象浏览窗口。用树状视图显示窗体上各组件之间的布局包含关系视图有两列显示每个组件的对象名称(ObjectName)和类名称。5属性设置窗口。显示某个选中的组件或窗体的各种属性及其取值可以在属性设置窗口里修改这些属性的值。输出窗格底部显示编译日志、调试信息、应用程序输出排查错误的关键。3.3 核心模式详解初学者须知1欢迎模式核心功能新建项目、打开已有项目、浏览 Qt 示例、查看教程实用入口“示例” 中包含上千个官方 demo覆盖组件使用、功能实现等场景可直接编译运行学习。2编辑模式核心功能编写 C 代码、修改头文件、编辑项目配置文件.pro实用技巧快捷键 Ctrl/快速注释 / 取消注释代码快捷键 F4在.h 头文件和.cpp 源文件之间快速切换代码补全输入类名 / 函数名时按 Tab 可快速补全。3设计模式核心功能可视化设计 UI 界面无需手动编写 UI 代码核心区域快捷键 Ctrl/快速注释 / 取消注释代码UI 设计区中间预览界面效果可调整组件位置和大小属性设置区右侧修改组件属性如text显示文本、font字体、geometry位置和大小。4项目模式核心功能配置项目构建参数如选择编译器、构建类型(Debug/Release)关键配置构建类型Debug 模式用于调试保留符号信息Release 模式用于发布代码优化体积更小套件选择默认选择安装时配置的套件如 Desktop Qt 5.14.2 MinGW 64-bit无需手动修改。3.4 项目核心文件解析新建项目后我们需要重点理解以下文件的作用为后续开发打基础3.4.1 .pro 文件工程新建好之后在工程目录列表中有一个后缀为 pro 的文件.pro文件就是工程文件(project)它是 qmake 自动生成的用于生产makefile的配置文件。核心配置项QT core gui widgets引入核心模块core 核心功能、gui 图形界面、widgets 组件库TARGET FirstQtApp生成的可执行程序名称SOURCES main.cpp widget.cpp项目源文件列表HEADERS widget.h项目头文件列表FORMS widget.uiUI 设计文件列表3.4.2 main.cpp(程序入口文件包含main函数)核心逻辑QApplication a(argc, argv)创建应用程序对象全项目唯一Widget w创建窗口对象w.show()显示窗口return a.exec()进入应用程序事件循环等待用户操作如点击按钮3.4.3 widget.h/.cpp(窗口类的头文件和源文件实现窗口功能逻辑)widget.hwidget.cpp3.4.4 widget.ui(UI 设计文件:XML 格式可视化设计的界面信息存储于此无需手动编辑)3.4.5 编译运行项目(产生的一些中间文件)四、Qt 开发核心注意事项初学者避坑命名规范Qt 偏好驼峰命名法类名首字母大写如MyWidget函数名 / 变量名首字母小写如setUserName路径禁忌项目路径、文件名、变量名均不可包含中文否则会导致编译失败或运行异常内存管理Qt 通过 “对象树” 机制管理内存创建组件时指定父对象如QPushButton *btn new QPushButton(this)父对象析构时会自动析构子对象无需手动delete后续会学到的帮助文档使用光标选中类名 / 函数名按F1可快速打开官方文档查看用法和示例优先看英文文档准确性更高快捷键推荐CtrlB构建项目编译CtrlR运行项目F5调试项目CtrlI代码自动对齐CtrlF查找代码。结束语Qt 入门的关键在于搭建好开发环境、熟练掌握开发工具。本文涵盖 Qt 框架基础认知、跨平台环境部署到 Qt Creator 实操、项目文件解析帮你搭建起完整的入门知识体系。后面需重点学习UI 控件、信号与槽核心机制实现按钮交互、文本展示等基础功能快速开发简单桌面或嵌入式界面。夯实基础后再逐步拓展网络、数据库、多线程等进阶能力稳步提升 Qt 开发水平。希望对大家学习Qt能有所收获