Qt 入门核心指南:从框架认知到环境搭建 + Qt Creator 实战


🔥草莓熊Lotso: 个人主页
❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!


🎬 博主简介:


文章目录

  • 前言:
  • [一. Qt 框架核心认知:为什么它能成为跨平台首选?](#一. Qt 框架核心认知:为什么它能成为跨平台首选?)
    • [1.1 什么是 Qt?](#1.1 什么是 Qt?)
    • [1.2 Qt 的核心优势](#1.2 Qt 的核心优势)
    • [1.3 典型应用案例](#1.3 典型应用案例)
  • [二. Qt 环境搭建:Windows/Linux 通用避坑指南](#二. Qt 环境搭建:Windows/Linux 通用避坑指南)
    • [2.1 Qt 的开发工具概述](#2.1 Qt 的开发工具概述)
    • [2.2 Qt SDK 的下载和安装](#2.2 Qt SDK 的下载和安装)
      • [2.2.1 Qt SDK的下载](#2.2.1 Qt SDK的下载)
      • [2.2.2 Qt SDK 的安装](#2.2.2 Qt SDK 的安装)
    • [2.3 Qt 环境变量配置](#2.3 Qt 环境变量配置)
  • [三. Qt Creator 深度解析:开发工具核心功能上手](#三. Qt Creator 深度解析:开发工具核心功能上手)
    • [3.1 使用 Qt Creator 新建项目](#3.1 使用 Qt Creator 新建项目)
      • [3.1.1 新建项目](#3.1.1 新建项目)
      • [3.1.2 选择项目模版](#3.1.2 选择项目模版)
      • [3.1.3 选择项目路径](#3.1.3 选择项目路径)
      • [3.1.4 选择构建系统](#3.1.4 选择构建系统)
      • [3.1.5 填写类信息设置界面](#3.1.5 填写类信息设置界面)
      • [3.1.6 选择 Qt 套件](#3.1.6 选择 Qt 套件)
      • [3.1.7 选择版本控制系统](#3.1.7 选择版本控制系统)
    • [3.2 Qt Creator 界面布局(核心区域)](#3.2 Qt Creator 界面布局(核心区域))
    • [3.3 核心模式详解(新手常用)](#3.3 核心模式详解(新手常用))
    • [3.4 项目核心文件解析](#3.4 项目核心文件解析)
      • [3.4.1 .pro 文件:项目配置文件,qmake 通过它生成 Makefile;](#3.4.1 .pro 文件:项目配置文件,qmake 通过它生成 Makefile;)
      • [3.4.2 main.cpp:程序入口文件,包含main函数;](#3.4.2 main.cpp:程序入口文件,包含main函数;)
      • [3.4.3 widget.h/.cpp:窗口类的头文件和源文件,实现窗口功能逻辑;](#3.4.3 widget.h/.cpp:窗口类的头文件和源文件,实现窗口功能逻辑;)
      • [3.4.4 widget.ui:UI 设计文件(XML 格式),可视化设计的界面信息存储于此,无需手动编辑。](#3.4.4 widget.ui:UI 设计文件(XML 格式),可视化设计的界面信息存储于此,无需手动编辑。)
      • [3.4.5 编译运行项目:产生的一些中间文件](#3.4.5 编译运行项目:产生的一些中间文件)
  • [四. Qt 开发核心注意事项(新手避坑)](#四. Qt 开发核心注意事项(新手避坑))
  • 结尾:

前言:

Qt 作为跨平台 GUI 开发的标杆框架,凭借 "一次编码、多端部署" 的特性,在桌面应用、嵌入式设备、车载系统等领域备受青睐。对于新手而言,入门 Qt 的关键第一步是 "摸清框架核心 + 搞定环境搭建 + 熟悉开发工具"------ 这三步看似基础,却直接决定后续开发的顺畅度。本文聚焦 Qt 框架核心优势、跨平台环境搭建(Windows/Linux 通用)、Qt Creator 工具深度解析,帮你快速建立 Qt 开发的基础认知,为后续 UI 设计和功能开发铺路。


一. Qt 框架核心认知:为什么它能成为跨平台首选?

在动手搭建环境前,先搞懂 Qt 的核心价值和应用场景,学习更有针对性:

1.1 什么是 Qt?

Qt 是一套跨平台 C++ 图形用户界面框架,不仅提供丰富的 GUI 组件(按钮、标签、表格等),还集成了网络、数据库、多媒体、线程等核心模块。它的核心优势是 "跨平台兼容性",一套代码可直接运行在 Windows、Linux、macOS、Android、iOS 等主流系统,无需针对不同平台重复开发。

1.2 Qt 的核心优势

  • 跨平台无差异:底层自动适配不同系统的 API,开发者无需关注平台细节;
  • 开发模式灵活:支持可视化 UI 拖拽设计 + 纯代码开发,兼顾新手和高级开发者;
  • 生态完善:内置海量组件和工具,覆盖从简单桌面应用到复杂嵌入式系统的全场景;
  • 内存管理友好:通过 "对象树" 机制自动管理内存,减少内存泄漏风险;
  • 就业前景广阔:嵌入式、车载、工业控制、桌面应用等领域需求旺盛,薪资待遇优厚。

1.3 典型应用案例

  • 办公软件:WPS Office(跨平台界面核心基于 Qt 开发);
  • 通讯工具:Skype(全球知名的即时通讯软件);
  • 多媒体工具:VLC 播放器(跨平台影音播放神器);
  • 开发工具:VirtualBox 虚拟机(开源虚拟机软件);
  • 嵌入式设备:车载中控系统、智能家居控制面板、工业控制终端。



二. Qt 环境搭建:Windows/Linux 通用避坑指南

2.1 Qt 的开发工具概述

Qt 支持多种开发工具,其中比较常用的开发工具有:Qt Creator,Visual Studio,Eclipse.

  • Qt Creator 是一个轻量级的跨平台集成开发环境(IDE),专为使用 Qt 框架进行应用开发程序开发而设计。**它是一个功能强大,易于使用,快速且高效的工具,被广泛用于编写各种类型的应用程序,如桌面应用程序,移动应用程序和嵌入式系统等。**Qt Creator 提供了一个可视化的界面设计器和代码编辑器,可以帮助开发者更快便捷地创建复杂的用户界面和处理各种事件。它包含了调试工具,版本控制工具,自动完成和智能提示等功能,以及支持多语言和跨平台的开发环境。
  • Visual Studio 是由微软公司开发的集成开发环境(IDE)。它可以用开发多种类型的应用程序。包括Windows 桌面应用程序,Web应用程序,移动应用程序,游戏等。Visual Studio 提供了丰富的开发工具和功能,包括代码和编辑器,调试器,自动完成,代码重构,版本控制等等。它支持多种编程语言,如:C++,C#,Visual Basic,F#,Python等。Visua Studio 还可以与其他开发工具和服务集成,如 Azure云服务,GitHub,Jenkins等。
  • Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C++ 和 Python 的开发工具 。Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。Qt 框架可以与 Eclipse 集成,使开发者可以使用 Eclipse 的强大功能来开发 Qt 应用程序

✅️ 我们后续主要使用 Qt Creator 来进行开发学习

2.2 Qt SDK 的下载和安装

2.2.1 Qt SDK的下载

进入官网的下载界面,按照下面所示的流程来下载安装对应版本即可。

  1. 打开官网,进入下图所示界面
  2. 选择需要下载的版本;(本篇博客以5.14版本为例,所选具体版本为:5.14.2)

  3. 选择 Windows 桌面应用程序

2.2.2 Qt SDK 的安装

  1. 找到下载的文件并双击;

✅️ 注意:在双击之前先断网,否则需要我们注册 Qt 账号登录后才能进入下一步安装;如果不断网的话就需要注册,注册需要用过注册邮箱点进对应链接跳转按照流程进程注册确认,这里就不演示了。


  1. 双击之后进入如下界面:
  1. 选择安装路径时不能出现中文路径,否则即使安装上也无法使用;
  1. 选择安装组件;这里我们安装的是 Qt Creator。如果磁盘空间够用可以全选,但是如果不够的话我们选必选的三个就行。


  2. 同意安装协议;
  1. 后续一直下一步,然后安装就行了,最后显示如下完成安装

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;或者在欢迎模式下直接点击:"new";

3.1.2 选择项目模版

  1. 弹出如下对话框:
  2. 新建项目对话框里有五类项目模版:
项目模板 说明
Application Qt 应用程序,包括普通窗体程序和 QtQuick 程序
Library 可以创建动态库、静态库以及 Qt Quick 扩展插件、QtCreator 自身插件
其他项目 可以创建单元测试项目、Qt4 设计师自定义控件、子目录项目等
Non-Qt-Project 非 Qt 项目。可以创建纯 C 或纯 C++ 项目
Import Project 导入项目。从版本控制系统管理的软件项目导入旧的项目

常用模板说明

常用的只有第一类 Application。选择它,在右侧会看到 Qt 应用程序的五个子模板:

  • Qt Widgets Application:普通窗体模板,传统基于部件的窗体界面程序。
  • Qt Console Application:Qt 控制台应用程序。因为 Qt 主要用于图形界面设计,这个控制台项目模板基本不用。
  • Qt for Python:在Python下用 LGPL 的许可来开发源 Qt 软件。
  • Qt Quick Application:Qt 提供的一种高级用户界面技术,使用它可以方便快速的为移动以及嵌入式设备开发流畅美观的用户界面。Qt Quick 模块是开发 QML 应用的标准库,提供了使用 QML 创建用户界面所需的一切,包括可视化、交互、动画、模型、视图、粒子效果以及着色效果等。

💡 选择不同的项目模板, Qt Creator 就会在后续项目创建好了之后生成不同的基础代码.

3.1.3 选择项目路径

给 Qt 项目命令及选择保存项目的路径,工程名和路径名中不能有中文;

3.1.4 选择构建系统

选择 Qt 项目的构建系统,使用默认的 "qmake" 即可。

Qt 主要构建工具对比:

构建工具 核心特点与说明
qmake Qt 原生的构建工具,用于自动生成跨平台的 makefile 文件。 其项目配置文件的后缀名为 .pro
CMake 跨平台的第三方构建工具。它本身不直接编译,而是生成编译器所需的构建系统文件(如 MakefileVisual Studio 项目文件)。
Qbs Qt 构建套件,新一代构建工具,宣称比 qmake 编译速度更快。它不绑定 Qt 版本,通过高级项目描述直接生成依赖表,而非交给 make 工具。 官方声明:因市场原因,Qt 已弃用 Qbs。

✅️ 总结与现状

对于 Qt 用户来说,qmake 仍是当前使用最广泛的构建工具,CMake 次之。Qbs 已被官方弃用。

3.1.5 填写类信息设置界面

我们先直接直接 Qwidget 就行。

Qt 窗体程序基类选择:

基类 说明与用途
QMainWindow 主窗口类 ,适用于复杂的应用程序。除了中央客户区,还预设了菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等框架结构。
QWidget 最简单、最基本的窗体类,可以作为独立的空白窗口使用,也可以作为容器在其中放置多个控件来实现程序功能。是 Qt 中所有可视化组件的基类。
QDialog 对话框类 ,通常用于弹窗,也可作为主界面。它继承自 QWidget,并增加了模态显示、返回值等适合对话框交互的特定功能。

上述三个类之间的关系如下图

3.1.6 选择 Qt 套件

中间还有一步选择语言和翻译文件,我们先不管,暂时用不上。然后这里的套件只有第一个 "Desktop Qt 5.14.2 MinGW 64-bit",如果安装配置了多个 Qt 套件,就可以都选上。Qt 套件是指 Qt 程序从编译链接到运行环境的全部工具和 Qt 类库的集合,对于 MinGW 版本 Qt 程序生成和调试,至少需要 MinGW 中的编译器 g++(自动调用链接器),g++ 配套的基础库,调试器 gdb 还有使用 MinGW 环境编译而成的 Qt 类库自身。默认情况下,在上面 Kit Selection 里选中全部套件。

3.1.7 选择版本控制系统

点击 "下一步" 进入项目管理界面;在项目管理界面可以设置作为子项目,以及加入版本控制系统管理。这两个功能暂时用不到,都用默认的 <None> ,然后点击 "完成"。

如果想把代码提交到码云或者github,可以在此处选择 git 作为版本控制系统。

最终效果:

通过上述的步骤,就可以完成项目的创建了,后续大家熟练之后创建一个项目其实还是很快的。项目创建完之后,Qt Creator 会直接进入代码编辑模式,可以看到类型下图界面:

3.2 Qt Creator 界面布局(核心区域)

打开 Qt Creator 后,默认进入 "欢迎模式",核心区域分为 7 部分,新手需重点关注:

  • 模式选择栏(左侧竖排):包含 "欢迎""编辑""设计""调试""项目""帮助" 6 种模式,切换不同开发场景;
  • 欢迎模式:提供新建项目、打开示例、查看教程的快捷入口,新手可从 "示例" 中学习成熟项目代码;
  • 项目管理区(编辑模式左侧):显示当前项目的文件结构,包含源文件(.cpp)、头文件(.h)、UI 文件(.ui)、项目配置文件(.pro);
  • 代码编辑区(中间):支持语法高亮、代码补全、自动对齐,快捷键与 VS、Clion 兼容;
  • UI 设计区(设计模式):可视化拖拽 UI 组件的核心区域,所见即所得;
  • 属性设置区(设计模式右侧):修改选中 UI 组件的属性(如文本、大小、颜色);
  • 输出窗格(底部):显示编译日志、调试信息、应用程序输出,排查错误的关键。

3.3 核心模式详解(新手常用)

(1)欢迎模式

  • 核心功能:新建项目、打开已有项目、浏览 Qt 示例、查看教程;
  • 实用入口:"示例" 中包含上千个官方 demo,覆盖组件使用、功能实现等场景,可直接编译运行学习。

(2)编辑模式

  • 核心功能:编写 C++ 代码、修改头文件、编辑项目配置文件(.pro);
  • 实用技巧:
    • 快捷键Ctrl+/:快速注释 / 取消注释代码;
    • 快捷键F4:在.h 头文件和.cpp 源文件之间快速切换;
    • 代码补全:输入类名 / 函数名时,按Tab可快速补全。

(3)设计模式

  • 核心功能:可视化设计 UI 界面,无需手动编写 UI 代码;
  • 核心区域:
    • 组件选择区(左侧):包含按钮(Push Button)、标签(Label)、布局(Layouts)等常用组件,拖拽即可添加到界面;
    • UI 设计区(中间):预览界面效果,可调整组件位置和大小;
    • 属性设置区(右侧):修改组件属性,如text(显示文本)、font(字体)、geometry(位置和大小)。

(4)项目模式

  • 核心功能:配置项目构建参数,如选择编译器、构建类型(Debug/Release);
  • 关键配置:
    • 构建类型:Debug 模式用于调试(保留符号信息),Release 模式用于发布(代码优化,体积更小);
    • 套件选择:默认选择安装时配置的套件(如 Desktop Qt 5.14.2 MinGW 64-bit),无需手动修改。

3.4 项目核心文件解析

新建项目后,我们重点理解以下文件的作用,为后续开发打基础:

3.4.1 .pro 文件:项目配置文件,qmake 通过它生成 Makefile;

核心配置项

  • QT += core gui widgets:引入核心模块(core 核心功能、gui 图形界面、widgets 组件库);
  • TARGET = FirstQtApp:生成的可执行程序名称;
  • SOURCES += main.cpp widget.cpp:项目源文件列表;
  • HEADERS += widget.h:项目头文件列表;
  • FORMS += widget.ui:UI 设计文件列表;

3.4.2 main.cpp:程序入口文件,包含main函数;

核心逻辑

  • QApplication a(argc, argv):创建应用程序对象(全项目唯一);
  • Widget w:创建窗口对象;
  • w.show():显示窗口;
  • return a.exec():进入应用程序事件循环(等待用户操作,如点击按钮);

3.4.3 widget.h/.cpp:窗口类的头文件和源文件,实现窗口功能逻辑;

  • widget.h
  • widget.cpp

3.4.4 widget.ui:UI 设计文件(XML 格式),可视化设计的界面信息存储于此,无需手动编辑。

3.4.5 编译运行项目:产生的一些中间文件



四. Qt 开发核心注意事项(新手避坑)

  • 命名规范 :Qt 偏好驼峰命名法,类名首字母大写(如MyWidget),函数名 / 变量名首字母小写(如setUserName);
  • 路径禁忌:项目路径、文件名、变量名均不可包含中文,否则会导致编译失败或运行异常;
  • 内存管理 :Qt 通过 "对象树" 机制管理内存,创建组件时指定父对象(如QPushButton *btn = new QPushButton(this)),父对象析构时会自动析构子对象,无需手动delete,后续会学到的;
  • 帮助文档使用 :光标选中类名 / 函数名,按F1可快速打开官方文档,查看用法和示例(优先看英文文档,准确性更高);
  • 快捷键推荐
    • Ctrl+B:构建项目(编译);
    • Ctrl+R:运行项目;
    • F5:调试项目;
    • Ctrl+I:代码自动对齐;
    • Ctrl+F:查找代码。

结尾:

html 复制代码
🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!

结语:Qt 入门的核心是 "搞定环境 + 熟悉工具",本文覆盖了 Qt 框架核心认知、跨平台环境搭建、Qt Creator 工具实战、项目文件解析,帮你建立 Qt 开发的基础体系。后续可重点学习 UI 组件使用、信号与槽机制(Qt 核心通信方式)、功能模块开发(如按钮点击事件、文本显示等)。掌握这些基础后,即可开发简单的桌面应用或嵌入式界面,后续可逐步深入复杂功能(如网络通信、数据库操作、多线程)。

✨把这些内容吃透超牛的!放松下吧✨ ʕ˘ᴥ˘ʔ づきらど

相关推荐
哦哦~9212 小时前
计算化学与人工智能驱动的 MOFs 性能预测与筛选技术
人工智能·计算化学
微爱帮监所写信寄信2 小时前
微爱帮监狱寄信邮票真伪核实接口认证方案
开发语言·python
寂寞恋上夜2 小时前
边界条件检查清单:数据为空/超长/特殊字符/越界(附测试用例)
服务器·网络·测试用例·markdown转xmind·在线思维导图生成器
啃火龙果的兔子2 小时前
如何使用python开发小游戏
开发语言·python·pygame
松涛和鸣2 小时前
42、SQLite3 :字典入库与数据查询
linux·前端·网络·数据库·udp·sqlite
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之rcp命令(实操篇)
linux·服务器·网络·chrome·笔记
爱学习的uu2 小时前
大模型学习1——各类模型接入langchain,模型调用,记忆管理,工具调用
人工智能·python·深度学习·学习·算法·机器学习·langchain
superman超哥2 小时前
Rust 内存对齐与缓存友好设计:性能优化的微观艺术
开发语言·后端·性能优化·rust·内存对齐·缓存优化设计·微观艺术
老王熬夜敲代码2 小时前
模版元编程variant
c++·笔记