Qt Core
Qt Core 添加了这些特性到 C++:
- 一种非常强大的无缝对象通信机制,称为信号和槽
- 可查询和可设计的对象属性
- 分层和可查询的对象树
- 对象所有权以自然的方式使用受保护的指针(QPointer)
- 跨库边界的动态转换
以下页面提供了关于 Qt 核心特征的更多信息:
使用模块
使用 Qt 模块要求直接或透过其它依赖链接到模块库。一些构建工具为此有贡献支持,包括 CMake 和 qmake。
用 CMake 构建
使用 find_package()
命令去定位所需模块组件,在 Qt6
包:
find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
参见 用 CMake 构建 概述。
用 qmake 构建
若使用 qmake 去构建工程,Qt5Core 会被默认链接。
线程和并发编程
Qt 提供线程支持按平台无关形式 线程类,跨线程发布事件和信号槽连接的 Thread-Safety (线程安全) 方式。多线程编程也是履行耗时操作而不冻结应用程序用户界面的有用范式。
Qt 中的线程支持 页面包含在应用程序中实现线程的有关信息。额外并发类的提供由 Qt Concurrent模块。
输入/输出、资源及容器
Qt 提供组织应用程序文件和资产的资源系统、一组容器及接收输入 打印输出的类。
此外,Qt Core 提供在应用程序的可执行文件中存储二进制文件且独立于平台的机制。
附加框架
Qt Core 还提供了一些 Qt 关键框架。
模块演化
对 Qt 核心的更改 列出了 Qt 6 系列所做的模块 API 和功能的重要更改。
许可和归属
Qt Core 在商业许可下是可用的来自 Qt 公司。此外,它在自由软件许可下是可用的:GNU LGPL v3 或 GNU GPL v2。见 Qt 许可。
Windows 可执行文件潜在链接到 The QtEntryPoint 库。此库可用于商业许可及 BSD 3-条款 "新" 或 "修订" 许可。
此外,Qt 6.2.0 的 Qt Core 可能包含的第三方模块遵循以下准许许可:
BLAKE2 (reference implementation), version 54f4faa4c16ea34bcd59d16e8da46a64b259fc07 | Creative Commons Zero v1.0 Universal or Apache License 2.0 |
zlib License | |
BSD 3-clause "New" or "Revised" License | |
BSD 3-clause "New" or "Revised" License | |
FreeBSD strtoll and strtoull, version 18b29f3fb8abee5d57ed8f4a44f806bec7e0eeff | BSD 3-clause "New" or "Revised" License |
BSD-3-Clause | |
BSD-3-Clause | |
Public Domain | |
Public Domain | |
BSD 2-clause "Simplified" License | |
BSD 3-clause "New" or "Revised" License | |
BSD 3-clause "New" or "Revised" License | |
Public Domain | |
Creative Commons Zero v1.0 Universal | |
BSD 2-clause "Simplified" License | |
BSD 3-clause "New" or "Revised" License | |
Creative Commons Zero v1.0 Universal | |
The Public Suffix List, version d4e247a71d1b6da08dad906b098c818493166fcc, fetched on 2021-06-11 | Mozilla Public License 2.0 |
MIT License | |
Unicode License Agreement - Data Files and Software (2016) | |
Unicode License Agreement - Data Files and Software (2016) | |
BSD-3-Clause | |
BSD-3-Clause | |
MIT License |
参考
这些是 API 参考材料链接。