0
点赞
收藏
分享

微信扫一扫

【Qt6 中文参考手册】Qt Core 概览

就是耍帅 2022-03-20 阅读 53
c++qtQt Core

  • 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.在芬兰和/或全球其他国家/地区的商标。所有其他商标均为其各自所有者的财产。

举报

相关推荐

安装QT6(windows)

Qt6属性绑定

qt6的安装

参考手册

Qt5和Qt6的区别

0 条评论