核心内部结构

Qt 包含了一系列基本工具,主要来自 Qt Core 模块。Qt 使用这些工具提供高级 UI 和应用程序开发组件。以下主题解释了最重要的工具,并展示了如何使用它们来实现 Qt 没有提供的功能。

对象、属性和事件

QObject 类构成了 Qt 对象模型的基础,是许多 Qt 类的父类。对象模型引入了多种机制,例如元对象系统,允许在运行时进行属性和方法的自省、操作和调用。它还作为 Qt 事件系统的基础,这是一个基于 QObject 的低级对象间通信方式。Qt 的信号和槽机制提供了另一种高级通信形式。

此外,QObject 还提供了简单的时间管理机制,使用 QObject::startTimer()。也可以使用 QTimer 类提供一个定时器的高级接口。

容器类

容器 是一种数据结构,其实例是其他对象的集合。例如,容器可以是动态数组、队列、链表和关联数组。Qt 提供了一组通用、基于模板的容器类,用于在内存中组织数据。

有关容器类的完整列表,请参阅 容器类

国际化

Qt 使用 Unicode 编码可显示的文本字符串。Unicode 支持世界上所有常用的书写系统,非常适合跨平台开发。使用 Qt 强大的国际化系统,还可以使用单一代码库支持多种不同的语言。

Qt 中的进程间通信

Qt 提供了几个类来支持进程间的通信。您也可以使用 QProcess 类启动和管理外部进程。

线程

Qt 提供了管理和以安全、平台无关的方式并行化代码的功能。

平台支持

Qt 允许您编写平台无关的代码,相同的代码库可以在不进行任何更改的情况下编译和部署到不同的平台。在您需要使用特定平台的特性和集成系统库的情况下,Qt 也提供相应的解决方案。

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

Qt 平台抽象使用了 Qt 的插件系统。这个插件系统提供了用于在特定区域扩展 Qt 的 API(例如添加对新图像格式、数据库驱动程序等的支持),并且还可以编写您自己的可扩展 Qt 应用程序,这些应用程序支持第三方插件。

© 2024 The Qt Company Ltd. 提供的文档贡献的版权归其各自所有者所有。本提供的文档是根据自由软件基金会发布并由其出版的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或世界上其他国家的商标。所有其他商标均为其各自所有者的财产。