当前位置: 首页 > news >正文

【Qt/C++ 桌面开发实战营】第1篇:Qt环境搭建与第一个Hello World

系列介绍

这是系列文章的第一篇,我将带你完成Qt开发环境的搭建,并创建你的第一个Qt程序。

🎯 本篇你将学到:

  • Qt的下载和安装

  • Qt Creator的基本使用

  • 创建和运行第一个Qt项目

  • 理解Qt项目的基本结构

  • 配置编译套件

🏆 系列目标:从零到一,开发一款完整的桌面应用——PDF全能工具箱

📚 系列目录预告:

  • 第2篇:Qt信号槽机制详解

  • 第3篇:Qt布局管理器完全指南

  • 第4篇:Qt样式表QSS美化教程

  • 第5篇:Qt常用控件全解析

让我们开始吧!


一、什么是Qt?

Qt是一个跨平台的C++应用程序开发框架,由Qt Company维护。它被广泛应用于开发图形用户界面(GUI)应用程序,也支持开发控制台工具和服务器端应用。

使用Qt开发的知名软件:

  • WPS Office(国产办公软件)

  • VirtualBox(虚拟机软件)

  • VLC多媒体播放器

  • Autodesk Maya(3D建模软件)

  • Telegram Desktop(即时通讯软件)

Qt的核心优势:

特性说明
跨平台一套代码,编译到Windows、Linux、macOS、Android、iOS
信号槽独特的对象通信机制,比回调函数更优雅
丰富控件内置大量现成的UI组件
文档完善官方文档详尽,示例丰富
开源免费采用LGPL协议,商业应用也可免费使用

二、Qt的下载与安装

2.1 选择Qt版本

目前主流版本:

  • Qt 5.15.x:最后支持Win7的LTS版本,成熟稳定

  • Qt 6.x:最新版本,性能更好,但不再支持Win7

💡 推荐:新手从Qt 5.15开始,兼容性更好,教程资源更丰富。

2.2 下载方式

方式一:在线安装(推荐)

  1. 访问Qt官方下载页面:Index of /official_releases/online_installers

  2. 下载对应系统的在线安装器:

    • Windows:qt-unified-windows-x64-online.exe

    • Linux:qt-unified-linux-x64-online.run

    • macOS:qt-unified-mac-x64-online.dmg

  3. 注册/登录Qt账号(免费注册)

方式二:离线安装(网络较差时选择)

访问:Index of /archive/qt

2.3 Windows安装步骤详解

第1步:双击运行安装器

第2步:登录Qt账号

如果没有账号,点击“Sign up”免费注册一个。

第3步:选择安装路径

推荐:D:\Qt\5.15.2 注意:路径不要包含中文和空格

第4步:选择组件(关键步骤)

展开Qt 5.15.2,勾选以下组件:

✅ MinGW 8.1.0 64-bit(Windows推荐使用) ✅ Qt Charts(图表控件,按需选择) ✅ Qt Virtual Keyboard(虚拟键盘,按需选择) ❌ Android相关组件(不需要开发安卓可以取消) ❌ iOS相关组件(不需要) ❌ Qt Source(源码,新手不需要)

展开Developer and Designer Tools:

✅ Qt Creator(IDE,必选) ✅ MinGW 8.1.0 64-bit(编译工具链,必选) ✅ CMake(构建工具,推荐勾选) ✅ Ninja(构建工具,可选)

第5步:接受协议,开始安装

安装大约需要10-20分钟,大小约2-3GB。


三、Qt Creator快速入门

3.1 界面布局

安装完成后,打开Qt Creator,界面分为以下几个区域:

┌─────────────────────────────────────────────────────────┐ │ 菜单栏 │ 文件 | 编辑 | 构建 | 调试 | 工具 | 帮助 │ ├──────────┬────────────────────────────────┬─────────────┤ │ │ │ │ │ 项目面板 │ │ 输出面板 │ │ (左侧) │ 代码编辑区 │ (底部) │ │ │ (中央) │ │ │ - 项目 │ │ - 编译输出 │ │ - 文件 │ │ - 应用输出 │ │ - 类视图 │ │ - 问题列表 │ │ │ │ │ ├──────────┴────────────────────────────────┴─────────────┤ │ 状态栏 │ └─────────────────────────────────────────────────────────┘

3.2 常用快捷键

快捷键功能说明
Ctrl+N新建文件/项目最常用
Ctrl+S保存当前文件养成好习惯
Ctrl+B构建项目编译代码
Ctrl+R运行项目编译+运行
Ctrl+/注释/取消注释快速注释代码
F4切换头文件/cpp文件快速跳转
Ctrl+Shift+F全局搜索搜索整个项目
F5调试模式开始调试
F10单步跳过调试时使用

四、创建第一个Qt项目

4.1 新建项目

步骤1:点击FileNew File or Project(或按Ctrl+N

步骤2:选择项目模板

Projects → Application → Qt Widgets Application

步骤3:设置项目信息

Name: HelloWorld Create in: D:\QtProjects

步骤4:选择构建套件

勾选MinGW 64-bit(确保绿色对勾表示配置正确)

步骤5:设置类信息

Class name: MainWindow Base class: QMainWindow

步骤6:点击完成,项目创建成功!

4.2 项目文件结构

创建完成后,你会看到以下文件:

HelloWorld/ ├── HelloWorld.pro # 项目配置文件(qmake) ├── main.cpp # 主函数入口 ├── mainwindow.h # 主窗口头文件 ├── mainwindow.cpp # 主窗口实现文件 └── mainwindow.ui # 界面设计文件(XML)

4.3 运行第一个程序

方法1:点击左下角的绿色三角形 ▶ 按钮

方法2:Ctrl+R

如果一切顺利,你会看到一个空白的窗口弹出:

┌─────────────────────────────┐ │ ┌─┬─┬─┐│ │ HelloWorld │─│□│×││ │ ┌─────────────────────────┐│ │ │ ││ │ │ ││ │ │ 空白主窗口 ││ │ │ ││ │ │ ││ │ └─────────────────────────┘│ └─────────────────────────────┘

🎉恭喜!你已经成功运行了第一个Qt程序!


五、添加一个简单的按钮

让我们给窗口添加一个按钮,点击时弹出问候语。

5.1 使用代码添加按钮

修改mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QPushButton> // 新增:按钮头文件 class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void onButtonClicked(); // 新增:按钮点击响应函数 private: QPushButton *m_button; // 新增:按钮指针 }; #endif

修改mainwindow.cpp

#include "mainwindow.h" #include <QMessageBox> // 新增:消息对话框 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { // 创建按钮 m_button = new QPushButton("点击我", this); // 设置按钮位置和大小 m_button->setGeometry(100, 100, 200, 50); // 连接信号槽:按钮被点击时,调用onButtonClicked函数 connect(m_button, &QPushButton::clicked, this, &MainWindow::onButtonClicked); } MainWindow::~MainWindow() { } void MainWindow::onButtonClicked() { // 弹出问候消息 QMessageBox::information(this, "问候", "Hello, Qt World!"); }

5.2 运行效果

再次运行程序(Ctrl+R),你会看到一个带按钮的窗口:

┌─────────────────────────────┐ │ HelloWorld ┌─┬─┬─┐ │ │ ┌─────────────────────────┐│ │ │ ││ │ │ ┌──────────────┐ ││ │ │ │ 点击我 │ ││ │ │ └──────────────┘ ││ │ │ ││ │ └─────────────────────────┘│ └─────────────────────────────┘ 点击按钮后,弹出对话框: ┌─────────────────────────────┐ │ 问候 │ │ ┌─────────────────────────┐│ │ │ Hello, Qt World! ││ │ │ ││ │ │ [确定] ││ │ └─────────────────────────┘│ └─────────────────────────────┘

六、常见问题及解决方案

Q1:编译时报错 "No valid kits found"

原因:没有配置编译套件

解决:

Tools → Options → Kits → Add 选择已安装的MinGW编译器

Q2:中文显示乱码

解决:在代码开头添加

#include <QTextCodec> // 在main函数中 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

或者使用QStringLiteral宏:

m_button->setText(QStringLiteral("点击我"));

Q3:运行时提示缺少dll

原因:Qt动态库不在系统路径

解决:

  • 开发阶段:通过Qt Creator运行,会自动设置环境

  • 发布阶段:使用windeployqt工具打包

Q4:无法找到头文件

解决:检查.pro文件是否添加了对应模块

# 例如需要使用多媒体功能 QT += multimedia

七、本课小结

通过本篇学习,你完成了:

✅ Qt开发环境的安装和配置
✅ 熟悉了Qt Creator的基本操作
✅ 创建并运行了第一个Qt程序
✅ 添加了按钮和事件响应
✅ 了解了常见问题的解决方法

下一课预告:

第2篇「Qt信号槽机制详解」——我们将深入Qt最核心的特性,理解对象之间如何高效通信。这是Qt编程的灵魂所在,掌握它你就掌握了Qt的精髓!

课后练习:

  1. 尝试修改按钮的文字和位置

  2. 添加第二个按钮,实现不同的功能

  3. 尝试修改窗口的标题和大小


系列进度

状态篇数文章标题
✅ 已完成第1篇Qt环境搭建与第一个Hello World
🔜 待发布第2篇Qt信号槽机制详解
🔜 待发布第3篇Qt布局管理器完全指南
🔜 待发布第4篇Qt样式表QSS美化教程
🔜 待发布第5篇Qt常用控件全解析
🔜 待发布第6篇Qt对话框系统
🔜 待发布第7篇QProcess调用外部程序
🔜 待发布第8篇QFile文件操作详解

如果觉得有用,欢迎点赞、收藏、关注

有问题欢迎评论区留言,我会及时回复。

下期见!👋

http://www.jsqmd.com/news/986145/

相关文章:

  • 马斯克都在看的重庆东站,这5个机位,拍完根本走不动路 - 资讯焦点
  • FP5207/FP7208 在单节电池升压 12V 30W 大功率升压芯片选型区别
  • AI商业化难点:从模型选择到执行权让渡,Agent如何破局?
  • 一体化闸门远程控制系统详解:架构、核心功能与应用场景
  • 效率提升40% vs 人工流程:从三大维度看ONEKEY的工程化优势
  • 2026伊春防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • 0 代码也能搭 Agent:我用做了一个企业售前知识助手
  • Win11 BitLocker 怎么关掉?设置、命令提示符和 PowerShell 三种关法都给你
  • 618囤货省钱指南,京东PLUS1888元超级补贴及88VIP九折券领取中,联动618红包多重让利 - 资讯焦点
  • 【鸿蒙】ArkUI 列表性能优化:LazyForEach 与组件复用深度解析
  • 如何在HyperMesh的两片相邻体单元间批量创建RBE3实现载荷传递
  • 2026四平防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • Visual Studio 2022项目中的.sln是什么?
  • 2026太原防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • 2026新疆旅游避坑|真实靠谱本地持证导游精选推荐(纯玩无套路) - 盛世西域旅行
  • 温州上班族必看!2026学历提升深度测评:它的AI助学+双师课堂到底有多强?
  • 机器人二次开发机器人动作定制?高保真动作迁移
  • 2026年长三角冷冻式干燥机厂家实力盘点:工业气体净化核心供应商推荐 - 资讯速览
  • 2026怒江权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 京东淘宝618红包最新领取口令放出,京东plus会员1888元超级补贴及满减活动攻略!618怎么叠加国补? - 资讯焦点
  • 青年公寓运营者的一天:有了物业系统之后效率变在哪
  • 2026济南留学中介哪家好?热门本地化品牌十家优选 - 速递信息
  • Steam成就管理工具:重新定义你的游戏成就掌控力
  • 小区地下停车场地坪工程品牌选型核心参考指南 - 奔跑123
  • 亿企代账会员服务怎么收费?亿企赢拆解计费逻辑与回报 - 新闻快传
  • git 拉取项目(mac)
  • 炸穿全年底价!625亿国补全额落地!京东淘宝618最后一波终极叠加攻略,抄底仅此一次 - 资讯焦点
  • 2026年AI大模型接口调度服务全维度技术横评:主流聚合平台能力拆解与成本测算指南
  • TranslucentTB中文界面显示异常?快速诊断与解决方案指南
  • 食品饮料洁净生产线|无析出PPH全套管路板材,守护食品流体输送安全 - 苏一塑业13914572689