跨平台开发框架Qt v6.1发布:各大模块新功能概述

Qt作为一个跨平台框架,通常用作图形工具包。目前qt6已经发布,本文主要对Qt6.1各大模块更新详情进行讲解。

Qt组件推荐:

  • QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面

新模块和修复模块

以下是6.0中没有的附加模块:

  • Active Qt
    • Qt对ActiveX和COM的支持使Windows开发人员可以使用Qt:
      • 访问和使用任何ActiveX服务器在其Qt应用程序中提供的ActiveX控件和COM对象。
      • 使它们的Qt应用程序可用作COM服务器,并使用任意数量的Qt对象和小部件作为COM对象和ActiveX控件。
    • Qt Charts仍然仅支持OpenGL的加速系列(AbstractSeries.useOpenGL)。如果使用其他图形API进行渲染,则该系列将无法在Qt Quick中渲染。
  • Qt数据可视化
    • Qt数据可视化仅支持OpenGL RHI后端,并且需要将环境变量QSG_RHI_BACKEND设置opengl。这可以在系统级别完成,也可以在应用程序主程序中使用qputenv(“ QSG_RHI_BACKEND”,“ opengl”)进行定义。
  • Qt设备实用程序
    • 仅支持网络功能
  • Qt Lottie
    • Qt Lottie模块已被移植到Qt 6和CMake构建系统
  • Qt状态机
    • 新可用的Qt状态机软件包将同时包含Qt SCXML模块和Qt StateMachine模块。
  • Qt虚拟键盘
    • Qt虚拟键盘模块已移植到Qt 6和CMake构建系统。
    • 新的字典管理器允许用户定义的字典(如电话簿)由应用程序来实现。
    • VirtualKeyboardSettings中的新属性。
    • 支持Cerence手写(T9写)和XT9。

这些模块在在线安装程序的 “附加库 “中作为源码提供。它们需要先编译,例如使用在线安装程序中的conan安装程序。

现有模块中的新功能

QtCore

  • QFuture具有新的便捷功能,可以在各种状态下创建。现在可以在上下文对象的线程中调用其延续。
  • qfloat16可以未初始化构造
  • <QMath>提供qHypot(),将std :: hypot()推广为任意多个参数,并支持qfloat16参数。
  • 函数qAddOverflow(),qSubOverflow(),qMulOverflow()现在支持溢出安全算术
  • removeIf()方法和对delete_if()的支持扩展到了更多的类
    • QHash,QMap及其Multi变体,其谓词采用std :: pair或容器自己的迭代器。
    • QSet,还获得insert()重载,该重载采用(但现在忽略)位置提示,以与stl兼容。
    • QString,QByteArray和QList也获得了delete()支持,以删除指定值的所有实例
    • QVarLengthArray,以及对delete()的支持和方法removeAll()和removeOne()
  • QStringView的API现在包括count(),contains(),indexOf(),lastIndexOf(),constBegin(),constEnd()
  • QLocale提供从枚举到ISO代码的映射,以及反向映射:languageToCode(),scriptToCode(),countryToCode(),codeToLanguage(),codeToScript(),codeToCountry()
  • QSocketNotifier现在支持更灵活的创建
  • 添加了QOperatingSystemVersion :: version(),QMetaType :: hasRegisteredDataStreamOperators(),QUntypedBindble :: isReadOnly(),其名称希望可以说足够。
  • 添加了QJniObject和QJniEnvironment作为公共API(主要用于Android)。
  • 对象属性绑定
    • API改进
    • 添加到Qt Core类的绑定

QtGui

  • QColorSpace现在可以将自定义传递函数设置为表格。
  • QTextDocument为新的QUrlResourceProvider类添加了setter和getter方法
  • QUrlResourceProvider是一个新引入的类,它避免了对QTextDocument的子类化和重载loadResource()。
  • Vulkan API包装器(QVulkanFunctions, QVulkanDeviceFunctions)现在也暴露了Vulkan 1.1和1.2核心API。
    • 通过将相关的新功能(supportedApiVersion())添加到QVulkanInstance,可以在创建实例之前查询受支持的实例级版本。
  • 添加了QPainter::VerticalSubpixelPositioning提示。目前只有Freetype字体后端支持这个功能,当它可用时,它将以牺牲一些内存和额外的工作为代价,实现文本在垂直方向上的子像素定位。对于大多数用例来说,这个应该是不需要的,但对于非常特殊的情况,当你想在动态变换的画家上垂直对齐绘画元素时,它可能是有用的。

Qt小部件

  • QLabel为新的QUrlResourceProvider类添加了setter和getter方法

QtNetwork

  • QNetworkCookie现在支持SameSite功能
  • 添加了对SSL插件的支持(目前为私有API)
  • 引入了QNetworkInformation
    • QNetworkInformation当前使用系统API公开系统的可达性。
    • 目前在Linux上支持Darwin,Windows,Android和NetworkManager。

QtQml

  • 添加了QJSPrimitiveValue和QJSManagedValue,以实现比单独使用QJSValue更好的对JavaScript执行的更细粒度的控制。
  • qt6_add_qml_module CMake函数(仍在TechPreview中)添加了一个qmllint目标,该目标在目标的QML文件上运行qmllint。

QtQuick3D

  • 技术预览:“实例渲染”(Instanced Rendering),这是一种通过不同转换绘制同一对象的多个实例的优化方法。该功能被认为是完整的,但仍可能会根据用户反馈对API进行较小的更改。计划在Qt 6.2中完成。
  • 技术预览:3D粒子,一种用于向3D场景添加粒子效果的API。该API已准备好进行测试,但尚未完成功能。
  • Qt Quick 3D现在支持变形目标动画,即所有顶点都在两组位置之间插值的动画,给人一种形状正在变形为另一种形状的印象。

====================================================

想要了解或购买Qt正版授权的朋友,欢迎咨询官方客服

Qt技术交流群现已开通,QQ搜索群号“765444821或者扫描下方二维码即可加入

跨平台开发框架Qt  v6.1发布:各大模块新功能概述

跨平台开发框架Qt  v6.1发布:各大模块新功能概述

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月3日
下一篇 2021年1月3日

相关推荐

发表回复

登录后才能评论