Qt 6.1 中的模块变更(从官网文档翻译)

简介: Qt 6.1 中的模块变更(从官网文档翻译)

在 Qt 6.1 中新增和恢复的模块

  • Active Qt 模块
    Active Qt 为 Windows 开发者提供了 ActiveX 和 COM 支持,使得他们能够在 Qt 应用程序中访问和使用任何 ActiveX 服务器提供的 ActiveX 控件和 COM 对象,以及将 Qt 应用程序作为 COM 服务器,让任意数量的 Qt 对象和小部件成为 COM 对象和 ActiveX 控件。
  • Qt 图表模块
    Qt 图表仅支持 OpenGL 加速系列(AbstractSeries.useOpenGL)。如果在 Qt Quick 上使用其他图形 API 进行渲染,这种序列将不会渲染。
  • Qt 数据可视化模块
    Qt 数据可视化仅支持 OpenGL RHI 后端,并要求在环境变量 QSG_RHI_BACKEND 中设置为 opengl。这可以在系统级别进行,也可以在应用程序的 main() 中使用 qputenv(“QSG_RHI_BACKEND”, “opengl”); 进行设置。
  • Qt 设备实用程序模块
    仅支持网络功能。
  • Qt Lottie 模块
    Qt Lottie 动画模块已移植到 Qt 6 和 CMake 构建系统。
  • Qt SCXML 和 Qt 状态机
    Qt 状态机包含了在 Qt 5 中属于 Qt Core 的 API。安装程序中的 Qt 状态机包含了 Qt SCXML 和 Qt 状态机模块。
  • Qt 虚拟键盘模块
    Qt 虚拟键盘模块已移植到 Qt 6 和 CMake 构建系统。
  • 新的字典管理器可以让用户定义的字典(如电话簿)通过应用程序实现。
  • VirtualKeyboardSettings 中有新属性。
  • 增加了对 Cerence 手写(T9 Write)和 XT9 的支持。

在 Qt 6.1 中的新功能

Qt Core 模块:

  • QFuture 新增便利功能以创建不同状态的 futures,并可在上下文对象的线程中调用其后续功能。
  • qfloat16 可以不初始化地构造。
  • 提供 qHypot(),将 std::hypot() 推广到任意多的参数,并支持 qfloat16 参数。
  • 通过函数 qAddOverflow()、qSubOverflow() 和 qMulOverflow() 支持溢出安全的算术运算。
  • 将 removeIf() 方法和 erase_if() 支持扩展到更多类。例如 QHash,QMap 及其 Multi 变体;QSet;QString,QByteArray 和 QList 以及 QVarLengthArray。
  • QStringView 的 API 现在包括 count(),contains(),indexOf(),lastIndexOf(),constBegin() 和 constEnd()。
  • QLocale 提供从其枚举到 ISO 代码的映射,反之亦然。
  • QSocketNotifier 现在支持更灵活的创建。
  • 增加了 QOperatingSystemVersion::version(),QMetaType::hasRegisteredDataStreamOperators() 和 QUntypedBindable::isReadOnly()。
  • 将 QJniObject 和 QJniEnvironment 作为公共 API(主要用于 Android)。
  • 对象属性绑定收到 API 优化,并将绑定添加到 Qt Core 类中。

Qt Gui 模块:

  • QColorSpace 现在可以将自定义转移功能设置为表格。
  • QTextDocument 现在允许您设置资源提供者函数,而无需子类化 QTextDocument 并重载 loadResource()。
  • Vulkan API 包装器(QVulkanFunctions,QVulkanDeviceFunctions)现在还公开了 Vulkan 1.1 和 1.2 核心API。
  • 同时为 QVulkanInstance 新增了相关新功能(supportedApiVersion()),以便在实例创建之前查询支持的实例级版本。
  • 添加了 QPainter::VerticalSubpixelPositioning 提示。目前只在 Freetype 字体后端上受支持。
    Qt Widgets模块
  • QLabel 为 QTextDocument 的资源提供程序函数增加了设置器和获取器方法。查看 Qt Gui 模块更改以获取更多信息。

Qt 网络模块

  • QNetworkCookie 现在支持 SameSite 功能。
  • 介绍 QNetworkInformation:
  • QNetworkInformation 目前使用系统 API 公开系统的可达性。
  • 目前支持 Darwin、Windows、Android 和 Linux 上的 NetworkManager。
  • 将 QSslSocket 和相关 QSsl 类所使用的 TLS 后端转换为面向插件的设计。
  • QtNetwork 的 ‘ssl’ 子模块中的公共类和私有类现在已实现 TLS 中立,不暴露给低级别 API/细节。
  • 现有的 TLS 后端(OpenSSL、SecureTransport、Schannel)现在报告它们支持的类、特性和协议。
  • 可以让使用 Qt 的应用程序提供其自己的后端,供 QSslSocket 和相关类使用。

Qt Qml模块

  • 增加了QJSPrimitiveValue 和 QJSManagedValue,以在 QJSValue 单独使用时实现对 JavaScript 执行的更细致控制。
  • qt6_add_qml_module CMake 函数(仍处于技术预览阶段)为目标的 QML 文件添加了一个 qmllint 目标。

Qt Quick 3D模块

  • 技术预览:实例渲染,一种使用不同变换绘制多个同一对象实例的优化方法。此功能被视为功能齐全,但可能根据用户反馈进行了小的 API 更改。计划在 Qt 6.2 中最终确定。
  • 技术预览:3D 粒子,一种在 3D 场景中添加粒子效果的 API。此 API 可进行测试,但尚未完整。
  • Qt Quick 3D 现在支持 morph target 动画,即所有顶点在两组位置之间插值的动画,给人一种形状正在变为另一形状的印象。

Qt 5兼容性模块

  • 尽管 Qt Graphical Effects 不随 Qt 6 一起提供,但已将一些效果移植到新的图形架构中,并添加到了 Qt5Compat 模块中。例如,要获取 DropShadow,添加 QML 导入 Qt5Compat.GraphicalEffects。已删除一些依赖动态着色器生成的复杂效果,例如多种模糊变体。


目录
相关文章
|
7月前
|
存储 数据安全/隐私保护 C++
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
505 0
|
3月前
|
编解码 开发工具 UED
QT Widgets模块源码解析与实践
【9月更文挑战第20天】Qt Widgets 模块是 Qt 开发中至关重要的部分,提供了丰富的 GUI 组件,如按钮、文本框等,并支持布局管理、事件处理和窗口管理。这些组件基于信号与槽机制,实现灵活交互。通过对源码的解析及实践应用,可深入了解其类结构、布局管理和事件处理机制,掌握创建复杂 UI 界面的方法,提升开发效率和用户体验。
188 12
|
7月前
|
SQL XML API
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
Qt C++ 模块 描述列表【从Qt 官网 6.5 版本翻译】
49 0
|
7月前
|
传感器 API Android开发
Qt 6.2 中的模块变更(从官网文档翻译)
Qt 6.2 中的模块变更(从官网文档翻译)
121 0
|
7月前
|
前端开发 JavaScript 安全
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
788 0
|
5月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
191 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
4月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
97 0
|
3月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
|
3月前
|
4月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
191 2