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

第一章 Qt 概述

1 Qt 是什么

Qt是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,例如控制台工具和服务器。

2 Qt 的优缺点

2.1 优点

  1. 跨平台,几乎支持所有的平台;
  2. 接口简单,容易上手,学习Qt框架对学习其他框架有参考意义;
  3. 一定程度上简化了内存回收机制;
  4. 开发效率高,能够快速的构建 GUI应用程序;
  5. 类库丰富,文档齐备;
  6. ……

2.2 缺点

  1. C++语言的特有缺点,如学习曲线较陡;
  2. 应用程序体积较大;
  3. 一些模块性能较低,优化难度大,如网络库;
  4. 存在一定的bug,依赖官方修复;
  5. ……

3 Qt 发展史

1991年 Qt最早由挪威的 Trolltech(奇趣)公司开发;

1995年 Trolltech 发布 Qt 第一个公开版本,Qt 1.0;

2008年 诺基亚公司收购 Trolltech;

2012年 Digia从诺基亚收购 Qt;

2012年12月,Digia发布Qt 5.0版本;

2014年4月,跨平台的集成开发环境Qt Creator 3.1.0发布,实现对iOS的完全支持,至此Qt实现了对iOS、Android、WP等各平台的全面支持;

2020年12月,Digia 发布Qt 6.0 版本。

注:

截至2026年4月,Qt 6.8为最新的LTS版本。

4 Qt 支持的平台

  1. Windows–用于Microsoft Windows。支持Visual Studio集成,也可以使用MinGW编译;
  2. Linux/X11–用于X Window System(如Solaris、AIX、HP-UX、Linux、BSD)。支持KDevelop和Eclipse IDE集成;
  3. Mac–用于Apple Mac OS X。基于Cocoa框架。支持Universal Binary。支持以Xcode编辑、编译和测试;
  4. Embedded Linux–用于嵌入式Linux。可以透过编译移除不常使用的组件与功能。透过自己的视窗系统QWS,不需依赖X Window System,直接写入Linux帧缓冲。可以减少存储器消耗。并提供虚拟帧缓冲QVFb,方便在桌面系统上进行嵌入式测试;
  5. Windows CE/Mobile–用于Windows CE;
  6. Symbian–用于Symbian platform;
  7. Maemo/MeeGo–用于Maemo;
  8. Wayland–用于Wayland显示服务器,Qt应用程序可以在运行时切换图形后端,如X与Wayland。

5 Qt 版本

Qt提供三种授权方式,这三种授权方式的功能,性能都没有区别,仅在于授权协议不同。开源版(LGPL和GPL)是免费发布,商业版则需要收取授权费。

  1. Qt商业版

Qt商业授权适用于开发专属和/或商业软件。此版本适用于不希望与他人共享源代码,或者遵循GNU宽通用公共许可证LGPL 2.1版或GNU GPL 3.0版条款的开发人员。提供了技术支持服务。可以任意的修改Qt的源代码,而不需要公开。

  1. GNU LGPL v2.1

Qt 4.5.0及以后的版本开始遵循GNU LGPL。LGPL允许链接到它的软件使用任意的许可证,可以被专属软件作为类库引用、发布和销售。可以购买支持服务。

  1. GNU GPL v3.0

如果您希望将Qt应用程序与受GNU通用公共许可证GPL 3.0版本条款限制的软件一同使用,或者您希望Qt应用程序遵循该GNU许可证版本的条款,则此版本Qt适用于开发此类Qt应用程序。可以购买支持服务。

6 Qt 知名应用程序

  1. OBS
  2. VLC
  3. Wireshark
  4. Telegram
  5. TeamViewer
  6. Microsoft OneDrive
  7. 钉钉
  8. 微信
  9. WPS
http://www.jsqmd.com/news/548722/

相关文章:

  • 2026年山东高分子聚乙烯托辊品牌商盘点,口碑好的是哪家 - mypinpai
  • PDF-Parser-1.0助力数据分析:PDF表格数据一键导出Excel
  • 别慌!你的sklearn模型R2_score为负,可能不是代码的锅(附排查清单)
  • 探秘AI应用架构师的企业数据价值挖掘宝藏
  • 2026国内三大上门按摩APP开发公司技术实力排行:对标东郊到家该选谁?
  • 数据科学-从学校到工作-第四部分
  • 分析高分子聚乙烯托辊加工厂,河北地区哪家售后好 - 工业品网
  • 从“生活”到“自感”:AI元人文回望生活儒学二十年 ——思想谱系的定位与时代精神的诊断
  • 百川2-13B长文本优化:OpenClaw处理学术论文的拆分与摘要策略
  • Windows触控板三指拖拽终极指南:免费开源工具ThreeFingersDragOnWindows完整教程
  • 告别卡顿与路径混乱:手把手教你配置ArcMap 10.x的个性化工作环境
  • 使用-MFLES-进行时间序列预测
  • Linux笔记本散热终极优化:NBFC风扇控制实战指南与完整解决方案
  • 使用-MicroPython-的九个-Pico-PIO-Wats-第一部分-
  • 光耦合器选型指南:6N136与6N137的关键参数对比与应用场景解析
  • 穷学生也能用的降AI率工具!免费降论文ai率省钱攻略分享 - 我要发一区
  • 鸿蒙 加解密:对称加解密算法(一)
  • 新手避坑指南:用Arduino Uno和CNC Shield V3驱动42步进电机(附完整代码与接线图)
  • ofa_image-caption实操手册:调整batch_size与image_size平衡速度与显存
  • 数据科学错误可能会毁掉你的学习路径-以及如何避免它们
  • 使用-n8n-和-AI-代理自动化供应链分析工作流程
  • 在Windows上构建专业级Syslog监控系统:Visual Syslog Server完全指南
  • AI语音转换技术实践指南:零基础打造自定义声线的AI翻唱作品
  • 基于51单片机的步进电机调速与状态显示系统(附仿真与源码解析)
  • Qwen3-14B-Int4-AWQ在嵌入式Linux开发中的应用:交叉编译问题智能排查
  • macOS下OpenClaw完整配置:nanobot镜像对接与飞书通道调试
  • 数据科学家必须具备的技能-但软件工程师不需要-
  • 轻量级工具实现Windows安卓部署:APK-Installer跨平台解决方案
  • 三步搞定中小学电子课本下载:告别繁琐操作的全新体验
  • Fire Dynamics Simulator:火灾动力学模拟的技术突破与工程实践