Qt 入门指南:从零搭建开发环境到第一个图形界面程序

🔥个人主页:Cx330🌸

❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》

《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔

《Git深度解析》:版本管理实战全解

🌟心向往之行必能至


🎥Cx330🌸的简介:


目录

前言:

[一、Qt 背景介绍](#一、Qt 背景介绍)

[1.1 什么是 Qt?](#1.1 什么是 Qt?)

[1.2 Qt 的发展史](#1.2 Qt 的发展史)

[1.3 支持的平台](#1.3 支持的平台)

[1.4 Qt 的核心优势](#1.4 Qt 的核心优势)

[1.5 典型应用案例](#1.5 典型应用案例)

[1.6 发展前景与就业](#1.6 发展前景与就业)

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


一、Qt 背景介绍

1.1 什么是 Qt?

Qt 是一个跨平台的 C++ 图形用户界面框架,完全面向对象,易于扩展。它支持通过拖拽组件快速构建界面,也允许开发者使用 C++ 进行高级开发。图形用户界面(GUI)是指采用图形方式显示的计算机操作界面,如 Android 和 iOS 的桌面应用界面。

1.2 Qt 的发展史

  • 1991 年:由奇趣科技开发。

  • 1996 年:进入商业领域,成为 Linux 桌面环境 KDE 的基础。

  • 2008 年:被诺基亚收购。

  • 2012 年:被 Digia 收购。

  • 2014 年:Qt 5.3 发布,全面支持 iOS、Android、Embedded 等平台。

1.3 支持的平台

  • Windows(XP、Vista、7、8、10 等)

  • Linux、macOS

  • 嵌入式系统、Android、iOS

1.4 Qt 的核心优势

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

1.5 典型应用案例

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

1.6 发展前景与就业

  • 物联网和嵌入式系统需求增长

  • 自动驾驶与智能交通领域广泛使用

  • 游戏开发

  • 就业机会多,薪资可观


二、搭建 Qt 开发环境:Windows/Linux 通用指南

2.1 Qt 的开发工具概述

Qt 支持多种开发工具,其中比较常用的开发工具有:Qt CreatorVisual StudioEclipse.

  • 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 账号登录后才能进入下一步安装;如果不断网的话就需要注册,注册需要用过注册邮箱点进对应链接跳转按照流程进程注册确认,这里就不演示了。

2.双击之后进入如下界面:

3.选择安装路径时不能出现中文路径,否则即使安装上也无法使用;

4.选择安装组件;这里我们安装的是 Qt Creator。如果磁盘空间够用可以全选,但是如果不够的话我们选必选的三个就行。

5.同意安装协议;

6.后续一直下一步,然后安装就行了,最后显示如下完成安装

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 文件配置项目,是目前 Qt 项目中最常用的构建工具。
CMake 跨平台第三方工具 本身不是编译器,而是生成构建系统文件(如 Makefile、VS 项目文件)的工具,拥有独立的文档和生态,在 C++ 项目中应用广泛。
Qbs Qt 官方下一代构建套件 曾被定位为比 qmake 编译速度更快的新一代工具,不绑定 Qt 版本,直接生成依赖表,无需借助 Make 工具。但 Qt 官方已声明弃用该工具。

✅️ 总结与现状

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

3.1.5 填写类信息设置界面

我们先直接直接 Qwidget 就行。

Qt 窗体程序基类选择:

表格

基类 说明
QMainWindow 主窗口类,一般用于较为复杂的应用程序,除了中央客户区界面,还包括菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等
QWidget 最简单、最基本的窗体程序,里面可以放置多个控件实现程序功能
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 编译运行项目:产生的一些中间文件

四. 写在最后:新手避坑小贴士

  1. 路径不要有中文或空格------安装路径、项目路径都要英文。

  2. 安装时断网------跳过账号登录,省去麻烦。

  3. 选对基类 ------简单窗口用 QWidget,要菜单栏用 QMainWindow ,对话框用 QDialog

  4. .pro 文件记得加 QT += widgets------否则 Qt5 会找不到控件类。

  5. 尽量在堆上创建控件new QPushButton(this))------让 Qt 的对象树自动管理内存,避免重复析构崩溃。


结尾:

本文介绍了 Qt 的背景、优势、开发环境搭建。掌握这些基础知识,你就可以开始创建第一个 Hello World 程序、项目文件结构、对象树内存管理及坐标系统或探索 Qt 提供的丰富控件和布局管理器。

Qt 官方帮助文档是学习和查阅的最佳资源,建议习惯阅读英文文档,提升专业技能。

相关推荐
SilentSamsara1 小时前
装饰器基础:从闭包到装饰器的自然演变
开发语言·前端·vscode·python·青少年编程·pycharm
user80395279525432 小时前
Codex 源码- Skill 系统
人工智能
蜡笔小马2 小时前
02.C++设计模式—建造者模式详解
c++
搬砖的小码农_Sky2 小时前
AI Agent:OpenClaw的算法架构
人工智能·算法·ai·架构·人机交互·agi
名字不好奇2 小时前
RAG进阶:下一代RAG怎么玩?
数据库·人工智能
夜影风2 小时前
Claude Code是什么,为什么它能力强大而国产替代不及预期
人工智能·claude code
诙_2 小时前
深入理解C++设计模式
c++·设计模式
移动云开发者联盟2 小时前
行业大咖已就位!邀您共赴移动云大会发布路演现场
人工智能