1. 什么是 Qt?

Qt(发音同cute)是一个跨平台的C++应用程序开发框架
它由挪威Trolltech公司创立,现由Qt Group维护
它不仅仅是一个GUI库,更是一套完整的开发生态,涵盖图形界面、网络通信、数据库访问、多媒体、嵌入式开发等众多领域
官网:https://www.qt.io/

2. Qt 的发展历史

在讲解学习Qt的必要性之前, 先来了解下Qt的发展历史:

  • 1991年
    Qt最早由奇趣科技(TrollTech)开发

  • 1996年
    进入商业领域,它也是目前流行的Linux桌面环境KDE的基础

  • 2008年
    奇趣科技被诺基亚公司收购,Qt成为诺基亚旗下的编程语言

  • 2012年
    Qt又被Digia公司收购

  • 2014年
    4月发布跨平台的集成开发环境Qt Creator 3.1.0
    5月发布Qt5.3正式版
    至此Qt实现了对iOSAndroidWP等各平台的全面支持

  • 2020年
    Qt团队宣布6.0版本发布

  • 当前
    当前Qt最新版本为Qt 6.10

3. Qt 的优势

Qt相对于其他的图形界面框架,有很多优势

3.1 跨平台

Qt的跨平台能力是首屈一指的,支持几乎所有主流平台:

平台类型 支持范围
桌面端 Windows、macOS、Linux
移动端 Android、iOS
嵌入式 RTOS、嵌入式Linux、裸机
Web WebAssembly(Qt for WebAssembly)

一套代码,多端编译运行,极大降低多平台维护成本。
如果用MFCC#做开发的话, 就只能运行在Windows上,无法轻易移植到LinuxMac上去

目前国家大力推进国产化替代,预计到2027年,所有的国企、事业单位全面实现国产化。
在国产化和军工领域,Qt有很大的发挥空间

做个广告:

  • 嵌入式开发,通常就是嵌入式Linux开发
  • Qt是做嵌入式Linux界面开发最好的,没有之一
  • 目前新课首发了《嵌入式QT实战》课程,想加入学习的小伙伴请加我微信
  • 课程基于正点原子IMX6ULL开发板,使用7寸屏
  • 授人以鱼不如授人以渔,学完该课程,可以非常容易地移植到野火韦东山等市面上的其他开发板

3.2 成熟的生态系统

Qt 提供了极为丰富的模块:

  • Qt Widgets —— 传统桌面 UI 控件
  • Qt Quick / QML —— 现代声明式 UI,适合动画与嵌入式
  • Qt Network —— TCP/UDP/HTTP/WebSocket
  • Qt SQL —— 数据库访问抽象层
  • Qt Multimedia —— 音视频播放与采集
  • Qt 3D / Qt Charts —— 三维渲染与数据可视化
  • Qt Serial Port —— 串口通信(嵌入式必备)
  • Qt Bluetooth / NFC —— 无线通信

几乎不需要引入第三方库,就能完成一个完整的商业应用。

3.3 信号与槽机制

Qt独创的信号与槽(Signal & Slot)机制,是一种优雅的事件通信机制,是对观察者模式的完美实现

相比传统回调函数:

  • 类型安全(编译期检查)
  • 松耦合(发送者无需知道接收者)
  • 支持跨线程通信(自动处理线程同步)

3.4 QML:现代 UI 开发新范式

Qt QuickQMLUI开发变得直观高效
声明式语法天然支持动画、状态机、属性绑定,适合打造高颜值的现代UI

3.5 工业级稳定性与广泛的商业应用

Qt已被众多知名企业和行业采用:

  • 汽车行业:奔驰、宝马、大众的车载信息娱乐系统
  • 工业自动化:西门子、ABBHMI界面
  • 医疗器械:飞利浦医疗设备UI
  • 航空航天:波音、空客的地面控制软件
  • 消费电子:博世、松下的嵌入式终端

这意味着学习Qt能直接对接大量高质量岗位需求。

3.6 C++ 能力的最佳放大器

Qt基于C++语言,如果学过了C++,但是连一个简单的界面做不出来,有点说不过去
界面还是要掌握的,实际工作中往往有这么一种需求:写一个简单的测试工具,此时Qt就派上用场了

3.7 优秀的官方文档与工具集

  • Qt Creator
    专为Qt定制的IDE,集成调试、UI设计器、性能分析
  • Qt Designer
    所见即所得的.ui文件设计器
  • Qt Assistant
    离线文档浏览器
  • 官方文档
    覆盖全面,示例代码丰富,对开发者非常友好

3.8 工资待遇好

Qt开发岗位的薪资很不错,不像Java、前端、移动端那么卷~
以下截图,来自Boss直聘

薪资1 薪资2

3. 许多知名软件用 Qt

  • 谷歌地图
    Google Earth,是一款谷歌公司开发的虚拟地球软件
    通过它可以浏览全球各地的高清晰度卫星图片

  • Wireshark
    一款免费的网络抓包分析软件,它的功能非常强大
    对于开发者而言,可以用它通过抓包分析,来解决开发过程中的很多问题。

  • VirtualBox
    开源的虚拟机软件,可以在一台电脑上同时运行两个操作系统
    典型的做法:
    ① 宿主机安装Windows系统
    ② 在Windows上安装VirtualBox虚拟机软件
    ③ 新建一个VirtualBox虚拟机,并在其中安装一个Linux系统
    这样就可以同时运行WindowsLinux两个系统,并且可以方便地共享文件
    VirtualBox对标的是VMWareVMWare也是一个虚拟机软件,之前收费,目前免费了

  • VLC Media Player
    这是一个开源的多媒体播放器
    它体积小巧、功能强大,做音视频开发的小伙伴应该是很熟悉它的

  • WPS Office
    金山公司(Kingsoft)出品的国产办公软件套装,完全兼容微软的Office系列

  • Autodesk Maya
    是一款由Autodesk公司出品的世界3D建模和动画软件
    被广泛应用于影视特效、游戏开发、虚拟现实和产品设计等领域,是数字内容创作的行业标杆

  • 腾讯会议
    一款基于腾讯多年音视频技术积累推出的云视频会议产品
    它于2019年12月25日正式上线,旨在帮助用户随时随地高效地开启远程会议

  • 微信电脑版
    微信电脑版从4.0版本开始,使用QT/C++进行了重构

百度查一下还有很多,可以不学MFCC#,但是Qt一定要学!
学习Qt,意味着你打开了进入PC软件、工业软件、嵌入式系统、车载开发等高价值领域的大门!