核心内部机制
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 对 C++20 的支持
自 Qt 6.0 起,Qt 便已支持 C++17。不过,我们一直在致力于支持新的语言特性。
平台支持
Qt 允许您编写平台无关的代码,同一代码库无需任何修改即可编译并部署到不同平台上。如果您需要使用特定于平台的功能并集成系统库,Qt 也提供了相应的解决方案。
Qt 通过 Qt 平台抽象(QPA)与目标平台的窗口系统进行集成。QPA 是一种窗口系统的抽象层,它使 Qt 向新平台的移植变得简单快捷。 Wayland 协议便是其中之一。在嵌入式硬件上,Qt 可与 Wayland 配合使用,将其作为轻量级窗口系统,以支持多进程图形用户界面。
Qt 平台抽象利用了 Qt 的插件系统。该插件系统提供了 API,既可用于在特定领域扩展 Qt(例如添加对新图像格式、数据库驱动程序等的支持),也可用于编写支持第三方插件的可扩展 Qt 应用程序。
- Qt 平台抽象
- 如何创建 Qt 插件
- Endian Conversion Functions - 来自 QtEndian 头文件中用于处理字节序的函数
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.