核心内部

Qt 包含一组丰富的基础使能器,主要来自 Qt Core 模块。Qt 使用这些启动器来提供更高级别的 UI 和应用程序开发组件。以下话题阐述最重要的使能器,并展示如何使用它们以实现 Qt 尚未提供的专用功能。

对象 特性和事件

QObject 类形成 Qt 对象模型的基础,且是许多 Qt 类的父类。对象模型引入了许多机制 (譬如:允许运行时自省的元对象系统,操纵及特性援引、对象方法)。它还充当 Qt 事件系统的基础,这是低级通信方式在 QObject (基于) 和对象之间。Qt 的信号、槽机制,提供了另一种高级通信形式。

这些特性还可以与状态机框架 (提供正式定义、可预测方式来管理应用程序的状态) 组合使用。实现状态机的另一种方式是使用 Qt SCXML 附件模块,从 SCXML (状态图表 XML) 文件创建它们。

此外, QObject 提供简单计时机制采用 QObject::startTimer ()。另外, QTimer 类为计时器提供高级接口。

容器类

container 是一种数据结构 (其实例是其它对象的集合)。一些容器范例:动态数组、队列、链表及关联数组。Qt提供一组一般目的,基于模板的容器类 (用于结构内存数据)。

见完整列表 容器类 了解更多细节。

国际化

Qt 使用 Unicode 编码可显示的文本字符串。Unicode 为世界上所有常用书写系统提供支持,是跨平台开发的理想选择。使用 Qt 的强大国际化系统,还可以采用某一代码库编写应用程序以支持任何数量的不同语言。

进程间通信

Qt 提供了几个类,以支持进程间通信。还可以发起和管理外部进程,使用 QProcess 类。

线程

Qt 提供安全且独立于平台的方式,管理线程和并行化代码的功能。

平台支持

Qt 允许您编写平台无关代码,其中相同代码库可以在不做任何改变的情况下在不同平台编译和部署。若您需要使用特定平台特征并集成系统库,Qt 为此还提供解决方案。

Qt 使用 QPA (Qt 平台抽象) 在目标平台中集成窗口系统。QPA 是窗口系统的抽象,它使移植 Qt 到新平台变得简单且快速。这种系统之一是 Wayland 协议。Qt可以与 Wayland 一起用作嵌入式硬件的轻量窗口系统,以支持多进程图形用户界面。

QPA (Qt 平台抽象) 使用 Qt 的插件系统。此插件系统提供 API 以在特定领域扩展 Qt (譬如:添加对新图像格式、数据库驱动程序、等的支持),还可以编写支持第 3 方插件的自己的可扩展 Qt 应用程序。