Qt包含一组丰富的启动器,主要来自Qt核心模块。Qt使用这些启动器来提供更高级别的UI和应用程序开发组件。下面的主题解释了最重要的启动器,并展示了如何使用它们来实现Qt尚未提供的专用功能
对象、属性和事件
QObject类是Qt对象模型的基础,是很多Qt类的父类。对象模型引入了很多机制,比如元对象系统,它允许运行时内声明,操作和调用对象中的属性和方法。它还作为Qt事件系统的基础。Qt事件系统是一种基于QObject
的对象之间进行通信的低级方式。Qt的信号和槽机制提供了另一种高级通信方式
此外,QObject通过QObject::startTimer()
提供了一个简单的计时机制。另外,QTimer
类为计时器提供了高级接口。
容器类
容器container
是一种数据结构,其实例是其他对象的集合。容器的一些例子有:动态数组、队列、链表和关联数组。Qt提供了一组通用的、基于模板的容器类,用于在内存中构造数据
有关更多细节,请参阅容器类
国际化
Qt使用Unicode对可显示文本字符串进行编码。Unicode为世界上所有常用的写作系统提供支持,是跨平台开发的理想之选。应用程序也可以使用Qt强大的国际化系统,使用一个代码库来支持任意数量的不同语言。
进程间通信
Qt提供了几个类来支持进程之间的通信。您还可以使用QProcess
类启动和管理外部进程。
线程
Qt提供了以安全且独立于平台的方式管理线程和并行代码的功能。
平台支持
Qt允许您编写独立于平台的代码。在这种情况下,可以为不同的平台编译和部署相同的代码库,而无需任何更改。在需要使用特定于平台的特性并与系统库集成的情况下,Qt还为此提供了解决方案
Qt使用Qt平台抽象(QPA)与目标平台上的窗口系统集成。QPA是一个窗口系统的抽象,它使Qt移植到新平台变得简单而快速。其中的一个系统是韦兰协议。Qt 可与 Wayland 一起用作嵌入式硬件上的轻量级窗口系统,以支持多过程图形用户界面。
Qt 平台抽象使用 Qt 的插件系统。此插件系统提供 ABI,用于在特定区域扩展 Qt(例如添加对新图像格式、数据库驱动程序等的支持),以及用于编写支持第三方插件的可扩展 Qt 应用程序。
- Qt 平台抽象
- 实施原子操作- 用于新架构
- 如何创建Qt插件
- Endian转换函数- 用于处理 Qtendian 标题的内在功能