产品中心
QT
Qt是一个基于C++的跨平台软件开发框架。它为应用程序开发者提供建立艺术级图形用户界面所需的功能。

Qt是一个基于C++的跨平台软件开发框架。它为应用程序开发者提供建立艺术级图形用户界面所需的功能。


Qt是digital公司的产品。1996年,Qt进入商业领域,已经成为全世界范围内数千种成功的应用程序的基础。他也是目前流行的Linux的桌面环境KDE的基础,KDE是Linux发行版的主要一个标准组件。


一、 产品特点

  • 完整的开发套件

Qt是完整的C ++软件开发套件。包含了构建软件所需的工具和构建块,无需担心赖关系。

  • Qt类库

Qt已拥有超过1300多个 C++类库,同时不断在扩展。它封装了用于端到端应用程序开发所需要的所有基础结构。Qt应用程序接口包括成熟的对象模型,内容丰富的集合类,图形用户界面编程与布局设计功能,数据库编程,网络,XML,国际化,OpenGL等等。

  • Qt设计者

Qt有一个功能强大的GUI布局与窗体构造器,能够在所有支持平台上,以本地化的视图外观,快速开发高性能的用户界面。

  • Qt语言包

用来消除国际化工作流程中所带来障碍的工具。使用Qt语言包,可为您免除语言翻译,货币换算,日历格式等相关的麻烦。

  • 跨平台的Qt

Qt是用于跨平台应用开发的领先开发框架。Qt应用程序接口与工具兼容于所有支持平台,让开发员掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置。Qt的宗旨是“一套代码,到处部署”。


Qt开发主机的操作系统

Android, iOS, Windows, WinRT, macOS, Linux, X11


Qt支持的目标操作系统

桌面/移动端:

  1. 桌面端:Windows, Linux, Mac OS X, Enterprise UNIX
  2. 国产Linux系统:Kylin, UOS, RedFlag等
  3. 移动端:Android, IOS, Windows 10, WinRT, UWP

嵌入式系统:

  1. Embedded Linux, Windows Embedded
  2. RTOS: QNX, VxWorks, INTEGRITY
  3. 国产RTOS: ReWorks, Delta OS, SylixOS

单片机系统(MCU):

  1. 裸跑(Bare metal), FreeRTOS


二、 Qt6新特性

Qt6是Qt的新版本。对Qt5做了重大的革新以满足未来应用程序开发框架的技术发展方向。

  • 使用设计师和开发者易用的工具、更精简但强大的QML语言以及灵活的图形架构,打造定制的或原生风格的2D和3D应用,实现高品质的体验。
  • 从微控制器(MCU)到超级计算机,Qt 6系列和Qt庞大的生态系统提供了整个产品线的设计、开发和部署所需的一切。一套代码适用于各种硬件、操作系统或裸机,创建前端美观、后端强大的应用程序。
  • 全面支持新的C++17特性


2.1 Qt6功能模块

开发工具
Qt Creator
Qt Creator提供了一个跨平台的、完整的集成开发环境(IDE)。
Boot to Qt
Boot to Qt可以帮助您立即在目标硬件上进行原型设计。 使用这个功能,您可以通过Qt Creator将所有类型的Qt应用程序部署到真实的设备中。
QML Live
QML Live允许您更改QML用户界面源代码并实时查看结果。
Qt Linguist
Qt Linguist允许翻译人员在应用程序中翻译文本。
Emulator
您可以使用模拟器在与设备完全相同的条件下测试和调试应用程序。
makeqpf
makeqpf是一个用于生成QPF2格式的预渲染字体的工具,以便在嵌入式Linux上使用。
Meta-Object Compiler
元对象编译器为Qt自己的子类生成元对象代码。
User Interface Compiler
该工具读取由Qt Designer生成的XML格式UI定义文件,并创建一个c++头文件。
Resource Compiler
该工具通过生成c++源文件在构建过程中将资源嵌入到Qt应用程序中。
Qt D-Bus XML Compiler
该编译器将D-Bus信息转换成c++源代码。
Qt D-Bus Viewer
Qt D-Bus查看器是一个可以让您自检D-Bus对象和消息的工具。
Qt Visual Studio Tools
Qt Visual Studio工具使开发人员能够使用Microsoft Windows开发环境。
Qt Distance Field Generator
Qt Distance Field Generator可以用来预生成字体缓存,以提高加载时间。
Qt Assistant
Qt Assistant是一个查看Qt帮助文件格式的在线文档的工具。


ESSENTIALS
Qt Core
Qt Core 包括元对象系统、属性系统、对象模型等的库和api等。
Qt GUI
Qt GUI模块提供了窗口系统集成、2D和3D图形、成像、字体和文本类。
Qt QML
Qt QML模块提供了使用QML语言开发应用程序和库的框架。
Qt Quick
Qt Quick是一个声明式框架,用于使用自定义用户接口构建高度动态的应用程序。
Qt Multimedia
Qt Multimedia包括音频,视频,收音机和相机功能类。
Qt Network
Qt Network为使用TCP/IP的应用程序提供了一组API。
Qt Quick Dialogs
用于从Qt Quick应用程序创建系统对话框并与之交互的类型。
Qt Quick Layouts
Layouts用于在用户界面中安排基于Qt Quick 2组件的布局。
Qt Quick Controls
提供轻量级的QML类型,用于为桌面、嵌入式和移动设备创建性能用户界面。
Qt Quick Test
QML应用程序的单元测试框架,其中的测试用例被编写为JavaScript函数。
Qt SQL
Qt SQL是一个支持SQL数据库的模块。
Qt Test
Qt Test包括用于Qt应用程序和库单元测试的类。
Qt Widgets
用c++ widgets扩展Qt GUI的类。
Qt Shader Tools
Qt Shader Tools提供了为硬件加速图形创建shades的方法。
Qt 3D
支持2D和3D渲染的近实时仿真系统的功能。
Qt Bluetooth
提供对蓝牙硬件的访问。
Qt Concurrent
用于编写不使用低级线程原语的多线程程序的类。
Qt D-Bus
D-Bus协议上用于进程间通信的类。
Qt Help
用于将文档集成到应用程序中的类,类似于Qt Assistant。
Qt Image Formats
附加图像格式的插件:TIFF, MNG, TGA, WBMP。
Qt NFC
提供近场通信(NFC)硬件访问。
Qt Platform Headers
提供封装特定于平台信息的类,绑定到平台插件的给定运行时配置。
Qt Positioning
提供对位置、卫星和区域监控类的访问。
Qt Print Support
使打印更容易和更便携的类。
Qt Quick Controls
可重用的基于Qt Quick的UI控件,创建经典的桌面风格的用户界面。
Qt Quick Extras
提供一组专门的控件,可用于在Qt Quick中构建接口。
Qt Quick Timeline
启用基于关键帧的动画和参数化。
Qt Quick Widgets
提供一个显示Qt Quick用户界面的C++ widget类。
Qt Remote Objects
提供一种易于使用的机制,用于在进程或设备之间共享QObject的API(属性/信号/槽)。
Qt Safe Renderer
提供可用于呈现安全关键项(如警告指示器)的UI呈现组件。
Qt SCXML
提供用于从SCXML文件创建状态机并将其嵌入应用程序的类和工具。
Qt Sensors
提供访问传感器硬件和动作手势识别。
Qt Serial Bus
提供访问串行工业总线接口。目前该模块支持CAN总线和Modbus协议。
Qt Serial Port
提供对硬件和虚拟串口的访问。
Qt SVG
用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准的一个子集。
Qt UI Tools
用于加载运行时在Qt Designer中动态创建的基于QWidget的表单的类。
Qt WebChannel
提供从HTML客户端访问QObject或QML对象,以实现Qt应用程序与HTML/JavaScript客户端无缝集成。
Qt WebEngine
使用Chromium浏览器项目在应用程序中嵌入web内容的类和函数。
Qt WebSockets
提供与RFC 6455兼容的WebSocket通信。
Qt WebView
在QML应用程序中显示web内容,使用平台本地的api,而不需要包含完整的web浏览器堆栈。
Qt XML
SAX和DOM的c++实现。
Qt Charts
UI组件用于显示视觉上令人满意的图表,由静态或动态数据模型驱动
Qt Data Visualization
用于创建绝妙的3D数据可视化的UI组件。
Qt Lottie Animation
一个用于渲染JSON格式的图形和动画的QML API,由Adobe®After Effects的Bodymovin插件导出。
Qt Network Authorization
支持基于OAuth的在线服务授权。
Qt Virtual Keyboard
一个实现不同输入法的框架以及一个QML虚拟键盘。支持本地化键盘布局和自定义视觉主题。
Qt Wayland Compositor
提供一个开发Wayland合成器的框架。
Qt for WebAssembly
一个使用WebAssembly为web浏览器编译Qt应用程序的平台目标。
Qt Quick 3D
提供基于Qt Quick创建3D内容或UI的高级API。
Active Qt
Active Qt 支持Windows开发者使用ActiveX和COM。

2.2 Qt6新特性

Qt渲染硬件接口

Direct 3D、Metal、Vulkan和OpenGL。只需编写一次渲染代码,即可部署在任何硬件上。


Qt Quick 3D

整合2D和3D内容到一个技术栈上。


Qt Quick Controls 2桌面样式

像素级完美、原生外观的控件无缝集成入操作系统。


HiDPI支持

独立缩放的支持,针对不同的显示器配置自动缩放UI。


QProperty系统

通过C++中的绑定支持提高代码速度,将QML最好用部分带入Qt,并与QObject无缝集成。


并发API的改进

多核CPU、并行计算、保持用户界面流畅的同时在后台执行后端逻辑。自动根据硬件进行线程数量管理。


网络功能的改进

创建您自己的通信后端,并将其集成到默认的Qt工作流中,自动添加与安全性相关的功能。


更新到C++17

更新到新标准,提高代码的可读取性,更好性能和更容易维护。


CMake支持

凭借行业标准构建系统、丰富的功能集以及庞大的生态体系构建Qt应用程序。


Qt for Microcontrollers (MCU)

轻量级渲染引擎可在具有2D硬件加速的低成本硬件上部署基于QML的UI,从而以较小的占用空间(> 80KB内存)实现优秀的图形性能。


Active Qt

支持Windows上的COM和ActiveX控件的Qt模块


Qt Charts

将图表添加到应用程序


Qt Data Visualization

可视化静态和动态数据


Qt Device Utilities

仅用于Qt for Device Creation部分


Qt Graphical Effects

添加为兼容性模块,以帮助移植到Qt 6


Qt Lottie

渲染在Adobe After Effects中创建的图形和动画


Qt Virtual Keyboard

在嵌入式设备中添加虚拟键盘