Qt 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Qt 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Qt 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

Qt 是一种更快,更智能的方式来为多个屏幕创建创新的设备、现代用户界面和应用程序。它是一个跨平台的C++应用程序开发框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发图形用户界面程序,也可用于开发非图形用户界面(比如命令行界面)程序。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。

基本上,Qt 同 X11上的GTK、Motif、Openwin和Windows上的MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 支持更多的平台(包括WindowsGNU/LinuxMac OS XAndroidiOSWinCEUnix家族等),面向对象且模块化程度更高(Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单)。

丰富的API(Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能),支持 2D/3D 图形渲染支持 OpenGL、大量的开发文档、XML支持等。

Qt的特点

  • 优良的跨平台特性
  • 支持面向对象
  • 丰富的 API
  • 支持 2D/3D 图形渲染,支持 OpenGL
  • 大量的开发文档
  • XML 支持

我们所使用的 Qt,确切地说也就是它的 GUI 编程部分。C++ 的 GUI 编程同 Java 不同:GUI 并不是 C++ 标准的一部分。所以,如果使用 Java,那么你最好的选择就是 AWT/Swing,或者也可以使SWT/JFace,但是,C++ 的 GUI 编程给了你更多的选择:wxWidWget、GTK++ 以及 Qt。

Qt Creator

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境,并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的集成开发环境。Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:

  • C++代码编辑器
  • 上下文感知帮助系统
  • 可视化调试器
  • 源代码管理
  • 项目和构建管理工具

Qt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面,它是用于界面国际化的重要工具。 Qt Linguist工具从4.5开始可以支持Gettext的PO文件格式。

Qt 和智能手机

Qt 目前支持主流的 Android、iOS、WinPhone 等智能机操作系统。MeeGo 是基于 Qt 开发的操作系统,由于被诺基亚抛弃了, 只剩一代绝版诺基亚 N9 手机。诺基亚手机部门出售给微软之后,大部分诺基亚手机系统开发人员都被遣散了。

原来诺基亚的一部分人成立新的 Jolla(卓蓝)公司,发布了 MeeGo 的衍生版智能手机系统 Sailfish(旗鱼),相应的手机和平板也发布开卖了。另一拨人投靠了 Tizen(泰泽),Tizen 是英特尔和三星力推的智能手机系统,该系统整合了 Limo 和 MeeGo,因为 MeeGo 系统被诺基亚抛弃,英特尔其实是被出卖了,所以只能联合三星重造智能手机系统 Tizen。

目前基于 Tizen 的首款手机三星 Z1 在印度上市了。在 Tizen 阵营,国内有中兴、百度涉及了。 Qt 公司有专门针对移动开发的商业版本,20 欧元或 25 美元一个月。不做商业可以无视这个,用开源版本也是可以开发如 Android、iOS、WinPhone 应用的。

应用范围

Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。

Qt 是应用程序开发的一站式解决方案,有了 Qt,你就可以高枕无忧了!Qt 本身包含的模块也日益丰富, 一直有新模块和第三方模块加入进来。 大部分应用程序都可以使用 Qt 实现,除了与计算机底层结合特别紧密的,例如驱动开发,它直接使用硬件提供的编程接口,而不能使用操作系统自带的函数库。

下面的软件都使用 Qt 开发:WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、Opera、咪咕音乐、谷歌地图、Photoshop Album 等。 Linux 也是嵌入式的主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。

Qt 虽然也支持手机操作系统,但是由于 Android 本身已经有 Java 和 Kotlin,iOS 本身已经有 Objective-C 和 Swift,所以 Qt 在移动端的市场份额几乎可以忽略。总起来说,Qt 主要用于桌面程序开发和嵌入式开发。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(36)
发表了资讯
06/19 08:37

Lars Knoll 为 Qt 首席维护者找到了接班人

Lars Knoll 是 Qt 公司的首席技术官和首席维护者,上个月他宣布从 Qt 离职,并辞去长期担任的 Qt 首席维护者职位。 经过 Qt 开发者的投票,新的维护者已经产生——Volker Hilsheimer 现在将成为新的 Qt 首席维护者。这并不偶然,因为 Lars Knoll 宣布离职时,就表示想提名 Volker Hilsheimer 担任 Qt 首席维护者。 Lars Knoll 在邮件列表宣布了这则消息,并写道:“Volker,祝你在领导 Qt 期间好运相随。我知道 Qt 项目将非常适...

3
1
发表了资讯
06/19 07:43

Qt 6.4 Beta 发布,新增 HTTP Server & 3D Physics 模块

Qt 6.4 发布了首个 Beta 版本,正式版预计于 9 月底推出。 与 Qt 6.3 相比,Qt 6.4 增加了三个模块,分别是: Qt HTTP Server Qt Quick 3D Physics Qt VNC Server Qt HTTP Server 和 Qt Quick 3D Physics 目前处于技术预览产品阶段。Qt HTTP Server 模块通过可选的 TLS 支持轻松地将 HTTP 服务器嵌入到应用程序中。但其文档提到,它不具备用作面向互联网的 Web 服务器的稳健性和安全性,而是专注于较小的本地/基于 LAN 的 Web ...

2
2
发表了资讯
05/19 08:37

22 年老将,Qt 公司 CTO 选择离职创业

Lars Knoll 是 Qt 公司的首席技术官和首席维护者,他也是 KHTML(Webkit 的前身) 的创建者,Lars Knoll 于今天在个人社交媒体发布公告,表示将离开 Qt 公司,之后他会加入一家创业公司开启新的征程。 Lars Knoll 从 90 年代末开始接触 KDE/Qt,并在 2000 年成为 Trolltech 的重要一员(诺基亚在 2008 年收购 Trolltech 后,将其改名为 Qt Software;后来又几经转手,最终形成今天的 Qt 公司)。无论是在 Trolltech,还是后来的...

6
3
发表了资讯
04/13 07:59

Qt 6.3 正式发布,添加 Qt 快速编译器、大量 Qt Quick 控件

Qt 6.3 发布了,与往常一样,该版本包含许多新功能以及大量 Bug 修复:自 Qt 6.2 发布以来修复了用户报告的总共 1750 个错误。下面摘录较为重要的新功能作介绍: Qt Quick 编译器 新的 Qt 快速编译器是 Qt 6.3 中引入的重要新功能之一。 新的 QML 编译器由两个工具组成,QML 类型编译器 ( qmltc ) 和 QML 脚本编译器 ( qmlsc )。 QML 类型编译器将 QML 类型编译为 C++,显着加快了 QML 类型的实例化。 QML 脚本编译器在有意义的...

1
5
发表了资讯
04/02 08:24

Qt 5.15 LTS 支持周期延长至 5 年

Qt Company 近日宣布他们将延长 Qt 5.15 LTS 长期支持版本的支持年限,即在原计划的 2023 年的基础上再延长两年,至 2025 年。 Qt 5.15 LTS 于 2020 年 5 月发布,按照 Qt 的原计划以及以往的传统(即常规的 Qt 版本在标准支持下的支持期为一年,LTS 版本在标准支持下则是三年时间),Qt 5.15 LTS 的支持结束时间为 2023 年 5 月,但鉴于许多人仍然在依赖 Qt 5,尚未移植到 Qt 6,Qt 公司已决定延长 Qt 5.15 的支持周期。 计划更...

2
4
发表了资讯
03/10 08:34

Qt 2022 年路线图:继续增强 Qt for WebAssembly、发力汽车领域

Qt 6.2 于 2021 年 9 月发布,这是 Qt 6 系列的第一个长期支持 (LTS) 版本。现在,随着 Qt 6.3 的开发工作接近尾声,官方开始规划 Qt 的未来发展,并公布了 Qt 的 2022 路线图。 路线图中提到的部分项目此前已被 Qt 公司谈论过,当然也有部分是首次提及的内容。总的来说,Qt 公司计划在 Qt6 工具包的各个方面进行大量改进,以满足他们的客户和开源用户。 部分计划: Qt 6.3 将引入 Qt PDF Qt Speech 也正在开发中,同样会被重新...

7
3
发表了资讯
03/04 08:37

KDAB 推出 CXX-Qt ,为 Qt 提供安全的 Rust 语言绑定

专注于 KDE/Qt 的科技公司 KDAB 一直在努力改进 Rust 与 Qt 工具包的集成,近日他们推出了 CXX-Qt ,称该工具可为 Qt 提供安全的 Rust 语言绑定。 Rust 拥有 C/C++ 欠缺的内存安全性,且拥有丰富的库生态系统,可用于(反)序列化、异步、解析不安全输入、线程等,将这些 Rust 库集成到 Qt 应用程序中将为 Qt 带来大量安全优化。 但目前将 Rust 与 Qt 结合的解决方案都存在一些问题,比如仅提供对 C++ API 的直接访问而不是对 ...

2
7
发表了资讯
03/04 07:41

商业化的 Qt 5.15.3 LTS 作为开源发布

Qt 公司发布了 Qt 5.15.3 LTS 的免费开源版本。2021 年,该公司宣布从 1 月 5 日起将 Qt 5.15 作为仅供商业化的 LTS,彼时现有的 Qt 5.15 分支将公开可见,但不会看到任何新补丁,只有付费账户才可以使用长期支持版本的 Qt 5.15。 Qt 5.15.3 LTS 则作为 Qt 5.15 LTS 系列的第一个商业专用补丁版本发布,该版本并没有增加任何新的功能,包含了 200 多个错误修复和一些其他改进。 目前,开源 Qt 5.15.3 版本的源代码包已可供下载,...

8
4
发表了资讯
02/05 09:24

Qt 简化商业授权方案

Qt 公司正在积极探索改进其产品多样性和提升财务业绩的方法,除了最近的 Qt Digital Advertising 1.0(Qt 数字广告 1.0),近日它还宣布简化其商业授权方案。 Qt 现在已将其面向开发者的商业产品整合为四个版本,具体如下: Qt 将这种授权模式称为“洋葱架构许可证” (onion-architecture license)。因此,某个授权方案的级别越高,它包括的功能就越多。在这种授权模式中,上层的授权方案包括“内部/下层”方案的特性和功能。 ...

14
6
发表了资讯
02/05 08:09

Qt 6.3 首个 Beta 测试版发布

Qt 6.3 首个 Beta 测试版已发布,正式版计划在 3 月底或者 4 月初推出。 Qt 6.3 新增的 Modules: Qt Language Server:实现了 Language Server Protocol Specification 和 JsonRpc 2.0 协议。此模块不包含公共 API Qt 6.3 的新 Qt Language Server module 实现了语言服务器协议 (LSP) 规范和 JsonRpc 2.0 协议,以便更好地与源代码编辑器/IDE 集成。新的 QML 类型编译器将 QML 对象结构编译为 C++ 类,而新的 QML 脚本编译器将...

1
0
发表了资讯
01/20 08:40

Qt 推出数字广告平台,将在应用中展示广告

Qt 是一个用于创建图形用户界面以及跨平台应用程序的开发框架,其适用范围非常之广,可以在各种硬件平台上运行,如 Linux、Windows、macOS、Android 或嵌入式系统。目前也有众多知名的应用、桌面环境和 UI 在使用 Qt,如 KDE、Sailfish OS、qBittorrent、VLC 和 OBS 等,甚至连特斯拉的车载 UI 也同样是采用 Qt。 近日,Qt 公司宣布推出 Qt Digital Advertising 1.0(Qt 数字广告 1.0)作为其新的广告平台,这个数字广告平台完全...

8
5
发表了资讯
01/18 07:51

Qt 6.3 Alpha 发布

Qt 6.3 发布了首个 Alpha 版本。 下载地址:http://download.qt.io/development_releases/qt/6.3/ Qt 6.3 新增的 Modules: Qt Language Server:实现了 Language Server Protocol Specification 和 JsonRpc 2.0 协议。此模块不包含公共 API Qt 6.3 恢复的 Modules(Qt 6.3 重新引入了以下 Qt 6.2 中没有的 Modules。所有列出的 Modules 都被移植到 Qt 6 和 CMake 构建系统中) Qt PDF(现处于技术预览阶段) 每个 Modules 的详...

5
0
发表了资讯
01/05 07:32

Qt 6.2 WebAssembly 新变化

去年发布的 Qt 6.2 LTS 正式版已提供了技术预览版的 WebAssembly 支持。最近 Qt 官方表示,它们会逐步发表关于 Qt WebAssembly 最新发展的一系列文章。 Qt for WebAssembly 使用 Emscripten 将 Qt 编译成二进制格式,然后在 Web 浏览器中运行。Qt 团队认为,与其为多个平台编译和部署,不如在 Web 服务器上为任何支持 WebAssembly 的浏览器的平台进行编译和部署。因此,从本质上讲,开发者可以把自己的 C++ 应用程序针对 WebAss...

1
10
2021/11/27 08:45

Qt 5.12.12 正式发布

Qt 5.12.12 现已发布。这是 Qt 5.12 LTS 系列的最后一个版本,Qt 5.12 LTS 的标准支持将于 2021 年 12 月结束。 主要更新内容 qtbase 将 libjpeg-turbo 更新到版本 2.1.0 将 SQLite 更新到 v3.35.5 QVarLengthArray:修复 insert(it, n, v) 中的别名错误 QXpmHandler:修复 xpm_color_name 中的重入错误 QXpmHandler:实际上将每像素字符数限制为四个 修复 libjpeg-turbo 的许可证信息 qtwayland 修复 Wayland 文本输入协议中解...

0
2
发表于大前端专区
2021/10/28 07:04

Qt 6.2.1 正式发布

Qt 6.2.1 现已发布,这是 Qt 6.2 系列的第一个补丁版本,包含对 Qt 6.2.0 版本顶部的 220 多个错误修复,并且预计将于 11 月底发布 Qt 6.2.2。 主要更新内容 qtbase 将 SQLite 更新至 v3.36.0 OpenSSL:支持使用 TLS 1.3 PSK 回调 修复查询与其他字体共享名称的字体别名 使 Yu Gothic UI 作为日语的主要后备字体 将 PCRE2 更新至 10.38 freetype/no-fc:消除不同宽度的字体的歧义 qtdeclarative 将按钮参数添加到 TapHandler.[...

0
0
发表于大前端专区
2021/10/01 08:28

Qt 6.2 LTS 正式发布

Qt 6.2 LTS 现已发布,这是 Qt 6 的第一个长期支持版本。该版本专注于提高稳定性、性能,并且包含 Qt 5.15 中的所有常用功能以及为 Qt 6 添加的新功能。此外,同时发布的 Qt Design Studio 2.2 和即将发布的 Qt Creator 6 beta 都基于 Qt 6.2 LTS。 Qt 6 的架构变化 Qt 6 中进行了一些更广泛的架构更改,包括: Qt 6 现在依赖于 C++17 兼容的编译器,这有助于清理和改进代码库,并为用户提供更现代的 API 在处理大型数据集和性能...

16
9
2021/09/16 05:31

Qt 5.0.1 现已发布

Qt 5.0.1 现已发布,这是 5.0 系列的一个 bug 修复版本。 主要更新内容 修复了 MIME 类型设置的保存 修复了未指定次要版本的导入的冻结问题 修复了使用内联组件时崩溃的问题 修复了每个项目启动的服务器的工作目录 修复了完成项目的排序 修复了语言服务器不使用全局环境设置的问题 改进了对 "conan" 问题的处理 修复了无限配置循环 修复了 "使用初始参数重新配置" 的崩溃问题 修复了 MSVC 和 C++20 的代码模型 修复了在 macOS ...

3
2
2021/09/03 08:13

Qt 6.2 LTS 的功能或将完全覆盖 Qt 5.15

Qt 发表了一篇博客对 Qt 6.2 LTS 与 Qt 5.15 进行了功能对比,表示 Qt 6.2 LTS 的功能将完全覆盖 Qt 5.15。 去年 Qt 6.0 首次亮相时,大部分批评都来自于它没有从 Qt5 移植所有模块和功能,并且 Qt 公司将 Qt 5.15 LTS 版本限制为仅限付费客户。从那时起,开发人员一直在努力解决 Qt6 中这些缺失的内容,随着即将推出的 Qt 6.2 LTS,这个问题或将得到解决。 博文指出,在构成 Qt 5.15 LTS 的 77 个组件中,已经有 73 个在 Qt 6...

7
6
发表于大前端专区
2021/09/02 06:50

Qt 6.1.3 发布

Qt 6.1.3 现已发布。Qt 6.1.3 将是 Qt 6.1 系列的最后一个补丁版本,它包含对 Qt 6.1.2 版本顶部的 100 多个错误修复。 主要更新内容 qtbase QVarLengthArray:修复 insert(it, n, v) 的别名错误 还原 “窗口:在有样式名称时也添加合成字体” 将 QCollator 的默认语言环境更改为 QLocale().collation() 使 QFutureWatcher::isFinished() 与被监视的 QFuture 一致 QCryptographicHash:不再重复呈现相同的数据 QXpmHandler:修复...

5
1
2021/07/07 06:25

Qt 6.2 Beta 发布

Qt 6.2 Beta 现已发布,这是其 6.2 系列的第一个 Beta 版本。Qt 6.2 包括所有广泛使用的 Qt 附加模块,也是 Qt 6 系列中第一个为商业授权者提供长期支持的版本,并提供了 3D 粒子等多项新功能。 主要更新内容 新特性 QtCore 许多属性现在都是可绑定的 Windows上的 UNC 路径和网络共享现在得到一致处理 QCalendar 现在支持从自定义后端 ID 构建 QCoreApplication 的 exit() 现在和 quit() 一样,对于 QEventLoop 和 QThread 也是...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
36 评论
468 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部