- Qt 6.2
- Qt Core
- Qt 6.2.3 参考文档
Contents
Qt Core
Qt Core模块将以下功能添加到C++:
- 一种非常强大的无缝对象通信机制,称为信号和插槽
- 可查询和可设计的对象属性
- 组织起来的分层和可查询对象树
- 使用受保护的指针,以自然的方式拥有对象所有权 (QPointer)
- 跨库边界工作的动态强制转换
以下页面提供了有关Qt核心功能的更多信息:
- 元对象系统(The Meta-Object System)
- 属性系统(The Property System)
- 对象模型(Object Model)
- 对象树和所有权(Object Trees & Ownership)
- 信号和插槽(Signals & Slots)
使用模块
使用Qt模块需要直接或通过其他依赖项链接到模块库。一些构建工具对此有专门的支持,包括 CMake and qmake.
使用 CMake 进行构建
使用 find_package()
命令在Qt6
包中找到所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
另请参见使用 CMake 构建 概述。
使用 qmake 进行构建
如果您使用qmake 来构建工程项目,则默认情况下会链接Qt6Core。
线程和并发编程
Qt 以独立于平台的线程类、线程安全发布事件的方式,以及跨线程的信号槽连接。多线程编程也是在不阻塞应用程序用户界面的情况下,执行耗时操作的范例。
The Qt 的线程支持 页面包含有关在应用程序中实现线程的资料。其他并发类由Qt Concurrent模块提供.
输入/输出、资源和容器
Qt提供了一个用于编译应用程序文件和资源文件(assets)的资源系统,一组容器以及用于接收输入和打印输出的类。
- 容器类
- 可序列化的 Qt 数据类型
- 隐式共享(Implicit Sharing)
此外,Qt Core还提供了一种独立于平台的机制,用于将二进制文件存储在应用程序的可执行文件中。
- Qt资源系统
其他框架
Qt Core还提供了Qt的一些关键框架。
- 动画框架
- Qt 的 JSON 支持
- 如何创建Qt插件
- 事件系统
模块演变
切换到Qt Core更改页面,列出了Qt系列Qt在模块API和功能方面所做的重要更改。
许可和归属
Qt Core在Qt Company的商业许可下可用. 此外,它还在自由软件许可证下提供: GNU Lesser General Public License, version 3, 或 GNU General Public License, version 2. 有关详细信息,请参阅Qt Licensing。
Windows上的可执行文件可能链接到The QtEntryPoint Library。此库在商业许可证下可用,也可在BSD 3条款"新的"或"修订"许可证下使用。
此外,Qt 6.2.3 中的 Qt Core 可能包含以下许可协议下的第三方模块:
BLAKE2(参考实现),版本 54f4faa4c16ea34bcd59d16e8da46a64b259fc07 | Creative Commons Zero v1.0 Universal 或 Apache 许可协议 2.0 |
数据压缩库 (zlib), version 1.2.11 | zlib 许可证 |
《缓和方程》(Easing Equations)作者:Robert Penner | BSD 3-clause "New" or "Revised" License |
IEEE Doubles 的高效二进制-十进制和十进制-二进制转换例程, version 3.1.5-30-gbf46072 | BSD 3-clause "New" or "Revised" License |
FreeBSD strtoll and strtoull, version 18b29f3fb8abee5d57ed8f4a44f806bec7e0eeff | BSD 3-clause "New" or "Revised" License |
KWin, version 5.13.4 | BSD-3-Clause |
KWin, version 5.13.4 | BSD-3-Clause |
MD4 | Public Domain |
MD5 | Public Domain |
PCRE2 - 无堆栈实时编译器(Stack-less Just-In-Time Compile), version 10.39 | BSD 2-clause "Simplified" License |
PCRE2, version 10.39 | BSD 3-clause "New" or "Revised" License |
QEventDispatcher on macOS | BSD 3-clause "New" or "Revised" License |
安全哈希算法 SHA-1 | Public Domain |
安全哈希算法 SHA-3 - Keccak, version 3.2 | Creative Commons Zero v1.0 Universal |
安全哈希算法 SHA-3 - brg_endian, version https://github.com/BrianGladman/sha/ commit 4b9e13ead2c5b5e41ca27c65de4dd69ae0bac228 | BSD 2-clause "Simplified" License |
安全哈希算法 SHA-384 and SHA-512 | BSD 3-clause "New" or "Revised" License |
SipHash 算法 | Creative Commons Zero v1.0 Universal |
公共后缀列表, version d4e247a71d1b6da08dad906b098c818493166fcc, 获取于2021-06-11 | Mozilla 公共许可证 2.0 |
TinyCBOR, version 0.6+patches | MIT License |
Unicode 字符数据库(UCD), version 26 | Unicode 许可协议 - 数据文件和软件 (2016) |
Unicode 通用区域数据存储库 (CLDR), version v40 | Unicode 许可协议 - 数据文件和软件 (2016) |
extra-cmake-modules, version 5.84.0 | BSD-3-Clause |
extra-cmake-modules, version 5.84.0 | BSD-3-Clause |
forkfd | MIT License |
参考
这些是指向 API 参考资料的链接。
- QT Core的C++类
- 动画类
- 线程类
- 容器类
- 插件类
- 隐式共享类
- 输入/输出类
- 事件类
- CMake API
- CMake 命令
- CMake 变量
- CMake Target 属性
© 2022 Qt Company Ltd. 此处包含的文档贡献是其各自所有者的版权。
此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证 1.3 版 的条款授予许可的。
Qt 和相应的商标是Qt Company Ltd.在芬兰和/或全球其他国家/地区的商标。所有其他商标均为其各自所有者的财产。