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 Core还提供了一种独立于平台的机制,用于将二进制文件存储在应用程序的可执行文件中。
其他框架
Qt Core还提供了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 可能包含以下许可协议下的第三方模块:
Creative Commons Zero v1.0 Universal 或 Apache 许可协议 2.0 | |
zlib 许可证 | |
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 |
BSD-3-Clause | |
BSD-3-Clause | |
Public Domain | |
Public Domain | |
PCRE2 - 无堆栈实时编译器(Stack-less Just-In-Time Compile), version 10.39 | 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 | |
公共后缀列表, version d4e247a71d1b6da08dad906b098c818493166fcc, 获取于2021-06-11 | Mozilla 公共许可证 2.0 |
MIT License | |
Unicode 许可协议 - 数据文件和软件 (2016) | |
Unicode 许可协议 - 数据文件和软件 (2016) | |
BSD-3-Clause | |
BSD-3-Clause | |
MIT License |
参考
这些是指向 API 参考资料的链接。