Qt官方文档
1. Qt Core
1.1. 核心功能
Qt核心添加这些功能到c++:
以下页面提供了更多关于Qt核心特性的信息:
-
元对象系统
-
属性系统
-
对象模型
-
对象树和所有权
-
信号和槽
1.2. 使用模块
使用Qt模块需要直接或通过其他依赖关系链接到模块库。 包括CMake和qmake在内的几种构建工具对此都有专门的支持。
1.2.1. 用CMake构建
使用find_package()命令在Qt5包中找到所需的模块组件:
find_package(Qt5 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget Qt5::Core)
另请参阅“使用CMake进行构建”概述。
1.2.2. 用qmake构建
如果使用qmake生成项目,则默认情况下会链接Qt5Core。
1.3. 线程和并发编程
Qt以平台无关的线程类,线程安全的事件发布方式以及跨线程的信号插槽连接的形式提供线程支持。多线程编程也是执行耗时的操作而不冻结应用程序用户界面的有用范例。
Qt页面中的线程支持包含有关在应用程序中实现线程的信息。Qt并发模块提供了其他并发类。
1.4. 输入/输出、资源和容器
Qt提供了一个资源系统,用于组织应用程序文件和资产,一组容器以及用于接收输入和打印输出的类。
此外,Qt Core提供了一种独立于平台的机制,用于将二进制文件存储在应用程序的可执行文件中。
1.5. 其他框架
Qt Core还提供了Qt的一些关键框架。
-
动画框架
-
Qt中的JSON支持
-
状态机框架
-
如何创建Qt插件
-
事件系统
1.6. 许可和出处
Qt Core可以从The Qt Company获得商业许可。此外,它可在免费软件许可下获得。从Qt 5.4开始,这些免费软件许可证是GNU通用公共许可证版本3或GNU通用公共许可证版本2。有关详细信息,请参阅Qt许可。
Windows上的可执行文件可能链接到qtmain库。该库可根据商业许可获得,也可根据BSD 3条款的“新”或“修订”许可获得。
此外,根据以下许可许可证,Qt 5.14.2中的Qt Core可能包含第三方模块:
Data Compression Library (zlib), version 1.2.11 | zlib License |
---|
Easing Equations by Robert Penner | BSD 3-clause “New” or “Revised” License |
Efficient Binary-Decimal and Decimal-Binary Conversion Routines for IEEE Doubles, version 3.1.5 | BSD 3-clause “New” or “Revised” License |
FreeBSD strtoll and strtoull, version 18b29f3fb8abee5d57ed8f4a44f806bec7e0eeff | BSD 3-clause “New” or “Revised” License |
MD4 | Public Domain |
MD5 | Public Domain |
PCRE2 - Stack-less Just-In-Time Compiler, version 10.34 | BSD 2-clause “Simplified” License |
PCRE2, version 10.34 | BSD 3-clause “New” or “Revised” License |
QEventDispatcher on macOS | BSD 3-clause “New” or “Revised” License |
Secure Hash Algorithm SHA-1 | Public Domain |
Secure Hash Algorithm SHA-3 - Keccak, version 3.2 | Creative Commons Zero v1.0 Universal |
Secure Hash Algorithm SHA-3 - brg_endian, version https://github.com/BrianGladman/sha/ commit 4b9e13ead2c5b5e41ca27c65de4dd69ae0bac228 | BSD 2-clause “Simplified” License |
Secure Hash Algorithms SHA-384 and SHA-512 | BSD 3-clause “New” or “Revised” License |
Text Codec: EUC-JP | BSD 2-clause “Simplified” License |
Text Codec: EUC-KR | BSD 2-clause “Simplified” License |
Text Codec: GBK | BSD 2-clause “Simplified” License |
Text Codec: ISO 2022-JP (JIS) | BSD 2-clause “Simplified” License |
Text Codec: Shift-JIS | BSD 2-clause “Simplified” License |
Text Codec: TSCII | BSD 2-clause “Simplified” License |
Text Codecs: Big5, Big5-HKSCS | BSD 2-clause “Simplified” License |
The Public Suffix List, version 3bd641472776a5df4a8c6407da4a4846282cba94, fetched on 2019-10-23 | Mozilla Public License 2.0 |
TinyCBOR, version 0.6+patches | MIT License |
Unicode Character Database (UCD), version 20 | Unicode License Agreement - Data Files and Software (2016) |
Unicode Common Locale Data Repository (CLDR), version v36 | Unicode License Agreement - Data Files and Software (2016) |
forkfd | MIT License |
1.7. 参考
这些是指向API参考资料的链接。