Qt 6.2 版本提供了多项新功能,例如 3D 粒子,让您可以使用 Qt Quick 3D 创建激动人心的 3D 用户体验。除了新功能之外,Qt 6.2 还恢复了对 Qt 6 以前尚未提供的更多附加模块的支持。
新模块:
- 添加 QtQuick.Dialogs 模块。这为 Qt 没有本机对话框的平台提供了带有 Qt 快速回退的本机对话框。目前 FileDialog 和 FontDialog 可用,在未来的版本中将添加更多。
以下附加模块可用,但在 6.1 中不存在:
- Qt蓝牙
- Qt多媒体
- Qt NFC
- Qt定位
- Qt 定位模块已移植到 Qt 6 和 CMake 构建系统。
- 许多属性现在是可绑定的。
- 将 QGeoPolygon::path() 重命名为 QGeoPolygon::perimeter。
- QGeoLocation 现在使用 QGeoShape 而不是 QGeoRectangle 作为边界区域。
- 多个定位类中的 error() 信 重命名为 errorOccurred()。
- 删除了 QGeoPositionInfoSourceFactoryV2,并且 QGeoPositionInfoSourceFactory 现在支持创建对象的自定义参数。
- NMEA 支持已重新设计。serialnmea 插件重命名为nmea,现在支持从 TCP 套接字或原始文件读取输入流。该nmeaSource财产被删除。
- Qt 远程对象
- Qt RemoteObjects 模块已移植到 Qt 6 和 CMake 构建系统。
- Qt 传感器
- Qt串行总线
- Qt SerialBus 模块已移植到 Qt 6 和 CMake 构建系统。
- QCanBusFactory 已被删除,QCanBusFactoryV2 已重命名为 QCanBusFactory。
- QModbusRtuSerialSlave 和 QModbusRtuSerialMaster 已更名为 QModbusRtuSerialServer 和 QModbusRtuSerialClient,新名称应在新代码中使用。
- Qt 串口
- Qt 络频道
- Qt WebChannel 模块已移植到 Qt 6 和 CMake 构建系统。
- QWebChannel 属性现在是可绑定的。
- QWebChannel 的属性更新间隔可以配置。它仍然默认为 50 毫秒。
- QWebChannel 支持 BINDABLE 属性的属性更新。但是,如果主机属性没有 NOTIFY 信 ,则客户端不会提供通用回调机制。
- 现在可以正确处理来自不同线程中对象的信 (QTBUG-51366)
- Qt 络引擎
- Qt WebEngine 模块已移植到 Qt 6 和 CMake 构建系统。
- Qt Quick 的 Qt WebEngine 子模块已从 QtWebEngine 重命名为 QtWebEngineQuick
- 几个类已从 QtWebEngineWidgets 移动到 QtWebEngineCore,包括 QWebEnginePage
- 以前只能通过从 QWebEnginePage 派生访问的某些功能现在可以使用同步信 访问。
- Qt 络套接字
- Qt WebSockets 模块已移植到 Qt 6 和 CMake 构建系统。
- Qt 页视图
- Qt WebView 模块已移植到 Qt 6 和 CMake 构建系统。
新功能(在现有模块内)
Qt Core
- 添加
- QByteArrayView::compare()。
- QFlags::test(Any)Flag(s) 方法。
- QHashSeed,控制散列(种子现在是 size_t);这将取代 qGlobalQHashSeed 和 qSetGlobalQHashSeed。
- PRIxQTDATATYPE 宏以促进 printf() 样式的格式化,无需强制转换或警告。
- QCoreApplication 的权限 API(用于访问相机、文件系统、设备上的 络)。
- 许多属性现在是可绑定的。
- 字素簇现在可以处理表情符 。
- Windows 上的 UNC 路径和 络共享现在得到一致处理。
- QCalendar 现在支持从自定义后端的 ID 构建。
- QChar、QPoint 和 QPointF 现在是原始的,而不仅仅是可重定位的。
- QCoreApplication 的 exit() 现在就像 quit() 一样,是一个槽(正如文档长期以来所声称的那样);QEventLoop 和 QThread 相同。
- QDateTime 现在考虑了 time_t 范围内的时区(只要平台提供此类信息),而不是人为地将范围限制为 1970-2037。
- QFlags 已经充实了它的值类型行为(现在被更系统地使用)。
- 在为 C++20 构建时,QList(因此也是 QVector)现在是满足 contiguous_range 的 contiguous_iterator。
- QLocalSocket::waitFor*() 现在支持 Windows 上的双工操作(就像他们在 Unix 上已经做的那样)。
- QLockFile 的方法现在具有 std::chrono 重载(并避免在 UTC 和本地时间之间进行不必要的转换)。
- QString 现在可以从 char8_t 构建(如果可用)。
- QThreadPool 的线程优先级现在是可配置的;并且线程共享池的名称(如果有)。
……并且对文档进行了大量整理、错误修复和改进。
图形界面
- 为 16 位和 32 位浮点数添加到 QImage 的浮点图像格式。
- 将 RGB 图像转换为,或将 RGB 颜色绘制到灰度图像上,现在经过伽马校正,并在输入颜色空间的亮度值中产生。
Qt Quick
- 通过为其分配 ItemSelectionModel 添加了对在 TableView 中选择单元格的支持
Qt QuickControls
- 添加了新控件:SelectionRectangle。此控件可用于通过使用样式选择矩形选择 TableView 中的单元格。
Qt Widgets
Qt 络
- QSslSocket
- TLS 后端,以前 (Qt 6.1) 转换为类似插件的类,现在移出 QtNetwork 并成为真正的插件。
- 多个 TLS 后端可能在运行时共存,例如 OpenSSL 和 Schannel,或 OpenSSL 和 SecureTransport。
- QNetwork信息
- 引入了 isBehindCaptivePortal,这是一个新属性,可用于查看用户是否通过强制 络门户连接到 络。
QtQml
- 核心语言
- 添加了对可选链接的支持
- 添加为强制转换:那些主要有助于工具,但也可用于替换 ( return (obj instanceof Item) obj.width : 42 vs (obj as Item)width 42 )实例的一些用法
- QML 模块的公共 CMake API (qt_add_qml_module)
- 负责生成 qmldir 和 qmltypes
- 如果插件只注册类型,可以自动创建插件
- 对 linting 目标的内置支持
- 工装
- qmlint
- 添加了对精细设置警告严重性的支持,从完全禁用它们到仅提供信息,再到导致非零退出代码
- 添加了用于逐个目录配置警告级别的设置文件 (.qmllint.ini)。可以使用 qmlint –write-defaults 生成默认设置文件
- 现在可以通过注释在块中禁用警告(//qmlint enable/disable <warning-type1> <warning-type2…>)
- linting 文件时大大提高了性能,尤其是在对具有大量导入的多个文件进行 linting 时
- 添加了用于工具的 JSON 输出
- 格式
- qmlformat 现在使用我们新的 qmldom 库,因此通常应该产生更好的输出
- qmlint
Qt Quick3D

- 实例化渲染,一种使用不同变换绘制同一对象的多个实例的优化方法。
- 3D 粒子,一种用于向 3D 场景添加粒子效果的 API。这包括模型混合粒子的技术预览,计划在 6.3 中完成。
- 3D 中 2D 项目的 Qt 快速输入事件(在场景和纹理中)
- 用于从场景中的任意点进行基于光线的拾取的附加 API
- 运行时加载器
- 可以在运行时加载 glTF2 文件
- 视差遮挡贴图:无需添加几何体即可使用高度图
- 材质上的深度绘制模式:启用对材质是否以及何时进行深度渲染的精细控制。
Qt 数据可视化

- 背景渲染模式已修复。
- RenderDirectToBackground_NoClear 已弃用,因为在 Qt 6.x 中不可以选择不清除窗口。
- 许多小错误修复。
图表

- QScatterSeries 和 Qlegend 中提供了更多标记形状可供选择。
- 为 QXYSeries 和 Qlegend 添加了光标记功能。这是点的较轻重量渲染。
- 添加了通过对 QXYSeries 和 QBarSet 的方法调用来选择系列中点的功能。
- 添加了设置颜色或使用自定义光标记的功能,以用于 QXYSeries 中的选定点。
- 添加了设置用于 QBarSet 中选定条形的颜色的功能。
- 添加了通过添加到 QXYSeries 的新方法显示 QXYSeries 的最佳拟合线的功能。
- 向 QXYSeries 添加了自定义系列中单个点外观的功能。该功能允许设置点可见性、点标签可见性和点大小。
- 向 QXYSeries 添加了方法“sizeBy”,该方法根据传递的值调整系列中点的大小。
- 向 QXYSeries 添加了“colorBy”方法,该方法根据传递的值和梯度调整系列点的颜色。
- 添加了一个新的轴类 QColorAxis 以支持 colorBy 功能,显示色标。
- 添加了禁用轴中标签截断的功能。
- 通过缓存最近使用的文本边界来提高性能。
- 通过 setInteractive 方法为 Qlegend 添加了交互式支持。启用后,允许双击分离图例,分离后,在图表上拖动和调整大小。然后可以通过将图例拖离边缘来自动将图例附加到图表的边缘。
- 向 Qlegend 添加了 attachToChartChanged 信 。
- 更新了图例示例。
平台变化
桌面
移动
安卓
- 之前在 QtAndroidExtras 下的(例如 sdkVersion()、context() 等)QtAndroid 命名空间下的一些调用现在在 QNativeInterface::QAndroidApplication ( QTBUG-90496 ) 下。
- 可以通过新的 API ( QTBUG-90498 )请求权限。
- 其余的 QtAndroidExtras API 将作为 qtbase 下的私有 API 保留,直到有明确的跨平台替代方案(例如 Intent、服务等)(QTBUG-93689)。
- 删除了 Ministro 死代码,因为它不受 Android 支持 ( QTBUG-85201 )。
- 简化AndroidManifest.xml文件,只包含用户相关的标签,去掉用户不需要维护的杂乱(补丁链接)。
- QCDebug() 和朋友在 Android logcat ( QTBUG- 94708 ) 中使用类别作为标签。
- 将 Android Gradle 插件更新到 4.1.3(补丁链接)。
有关 Qt 6 的更多信息
- Qt6.2版本发布:恢复Qt6.1版本中缺失的模块、并带来了对13个额外模块的支持
- C++跨平台框架Qt6第一个修复版本现已发布!
- c++开发框架Qt6:构建系统CMake详解
- Qt6.1教程:Qt Quick3D渲染实例
- 全面剖析Qt6新版构建系统CMake
- Qt里程碑事件——Qt6正式发布
====================================================
想要了解或购买Qt正版授权的朋友,欢迎咨询官方客服,限时咨询送开发教程!
Qt技术交流群现已开通,QQ搜索群 “765444821”或者扫描下方二维码即可加入

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!