文章目录
Qt官方文档
1. Qt Core
1.1. 核心功能
Qt核心添加这些功能到c++:
-
一种非常强大的无缝对象通信机制,称为信号和插槽
-
可查询和可设计的对象属性
-
层次结构和可查询的对象树组织
-
使用受保护的指针(QPointer)以自然的方式拥有对象所有权
-
跨库边界的动态转换
以下页面提供了更多关于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数据类型
-
隐式共享
此外,Qt Core提供了一种独立于平台的机制,用于将二进制文件存储在应用程序的可执行文件中。
- Qt资源系统
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可能包含第三方模块:
1.7. 参考
这些是指向API参考资料的链接。
C++ Classes | C ++类 |
---|---|
Animation Classes | 动画类 |
Threading Classes | 线程类 |
Container Classes | 容器类 |
Plugin Classes | 插件类 |
Implicitly Shared Classes | 隐式共享类 |
State Machine Classes | 状态机类 |
Input/Output Classes | 输入/输出类别 |
Event Classes | 事件类 |