一、前言

  1. Qt 6 是有意识地努力使框架更加高效和易于使用的结果。
  2. 我们尝试在每个版本中保持所有公共 API 的二进制和源代码兼容性。
  3. 但为了使 Qt 成为更好的框架,一些更改是不可避免的。
  4. 其中一项更改是删除特定于平台的 Extras 模块,以确保 Qt 6 的跨平台故事和未来具有凝聚力。
  5. 这些模块提供的大部分功能已被其他 Qt 模块中的类似功能所取代,例如通过新的平台 API。

其余 API 通常属于以下三类之一:

  • 该功能在相关平台中已被弃用。
  • API 没有已知的内部或外部客户端。
  • 该 API 与其他平台上的类似 API 重叠,保证了跨平台 API。
  • 对于后两种情况,我们将继续调查未来版本是否需要替换 API。

二、Qt Mac Extras 的变化

2.1 QtMac 命名空间

QtMac 命名空间的大多数成员都有显式替换。由于缺少 API 的已知客户端,该功能已被删除。例如 QtMac::fromCGImageRef 。

2.2 QMacPasteboardMime

由于保证跨平台解决方案,该类已被删除。有关详细信息,请参阅QTBUG-93632。

2.3 QMac工具栏

QMacToolBar QMacToolBarItem 类已被删除。使用QToolBar作为替代。还有第三方解决方案,例如MacHelper库。

三、对 Qt Windows Extras 的更改

3.1 QtWin 命名空间

QtWin 命名空间的许多成员都有显式替换。要将这些替换与 Qt Widgets 或 Qt Quick 一起使用,请对相关小部件或控件的QWindow表示进行操作。

其余功能已被删除:

  • 错误字符串从结果仅在 WinExtras 内部使用。没有其他已知的 API 客户端。
  • colorizationColor/isCompositionOpaque概念存在于其他平台上(色调/强调色)。保证新的跨平台 API,例如新的QPalette角色或平台主题属性。
  • setWindowFlip3DPolicy Windows 7 功能。Windows 10 不再支持。
  • 扩展框架进入客户区,其他平台上也存在类似的功能。
  • 保证跨平台QWindow API 来控制客户区和非客户区(框架/标题栏)之间的关系。有关详细信息,请参阅QTBUG-94010。
  • 启用BlurBehind,自 Windows 8 起弃用。
  • taskbarActivateTab 和 taskbar(Add/Delete)Tab 没有已知的 API 客户端。

3.2 QWinMime

由于保证跨平台解决方案,该类已被删除。有关详细信息,请参阅QTBUG-93632。
仍然依赖该功能的客户端可以包含私有 <QtGui/private/qtguiapplication_p.h> <QtGui/private/qwindowsmime_p.h>,并使用 QWindowsApplication 本机接口来注册新的 MIME 类型。

3.3 QWinJumpList

由于保证跨平台解决方案,QWinJumpList QWinJumpListCategory QWinJumpListItem 类已删除,有关详细信息,请参阅QTBUG-94007。

3.4 QWinTaskbarButton

由于保证跨平台解决方案,QWinTaskbarButton QWinTaskbarProgress 类已被删除。有关详细信息,请参阅QTBUG-94009和QTBUG-94008。

3.5 QWinThumbnailToolBar

由于缺乏知名客户端使用示例。QWinThumbnailToolBar QWinThumbnailToolBarButton 类已删除。

四、Qt X11 Extras 的变化

  1. QX11Info 类已被删除。
  2. 所述QX11Info ::连接()和QX11Info ::显示()方法已经被替换为QX11Application为本地接口QGuiApplication。
  3. 仍然依赖该功能的客户端可以包含私有头<QtGui/private/qtx11extras_p.h>作为权宜之计。
  4. 要启用私有标头,将项目依赖项添加到pro。 QT += core-private

五、Qt Android Extras 的变化

  1. 该模块的关键功能已转移到其他 Qt 模块中。
  2. 仍然依赖该功能的客户端可以包含私有头<QtGui/private/qtandroidextras_p.h>作为权宜之计。
  3. QAndroidJniObject 和 QAndroidJniEnvironment 已被QJniObject和QJniEnvironment分别取代。
  4. QAndroidJniExceptionCleaner类已被 QJniEnvironment :: checkAndClearExceptions()取代。
  5. QtAndroid 命名空间的许多成员在QAndroidApplication本机接口中都有替换。
  6. 权限请求 API 已被跨平台QCoreApplication::requestPermission () API取代。

Qt 6 中的 Qt Extras 模块相关推荐

  1. Qt 6中的Qt Network

    本文翻译自Qt Network in Qt 6 原文作者:Qt公司高级软件工程师,Mårten Nordheim, Timur Pocheptsov 校审:York Chen 小编注:原文发布于202 ...

  2. Qt开发中获取系统相关信息的方法,值得收藏参考

    本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...

  3. qt on android qml,Qt on Android: Qt Quick 之 Hello World 图文详解

    在上一篇文章,<Qt on Android:QML 语言基础>中,我们介绍了 QML 语言的语法,在最后我们遗留了一些问题没有展开,这篇呢,我们就正式开始撰写 Qt Quick 程序,而那 ...

  4. java怎么显示qt文件后缀,在qt中执行java文件

    要在Qt Android应用程序中运行Java代码,您应该使用 the Qt Android Extras模块,该模块包含用于在Android上进行开发的其他功能. 您可以使用JNI从C/C++调用J ...

  5. qt如何用python结合_在Qt(C++)中与Python混合编程

    一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...

  6. vs2019中如何创建qt项目_在VS2015中创建Qt项目【VS+Qt项目开发系列】(二)

    在VS2015中创建Qt项目[VS+Qt项目开发系列](二) 发布时间:2018-04-20 22:44, 浏览次数:1269 , 标签: VS Qt 在上一篇[VS+Qt项目开发](一)在VS201 ...

  7. Matplotlib画图教程:在QT界面中嵌入三维图片

    Matplotlib画图教程:在QT界面中嵌入三维图片 需求: 做项目报告的时候,有这么一个想法,就是能通过UI随时调用matplotlib进行二维图和三维图的绘制.因此就诞生了做这么一个小模块的想法 ...

  8. android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例

    Qt串口通信开发之QSerialPort模块详细使用方法与实例 发布时间:2020-10-23 12:19:05 来源:脚本之家 阅读:111 作者:沧海一笑-dj Qt串口通信基础及名词说明 串口通 ...

  9. Qt4_在次线程中使用Qt的类

    在次线程中使用Qt的类 当函数可以同时被不同的线程安全地调用时,就称其为"线程安全的"(thread-safe).如果在不同的线程中对某一共享数据同时调用两个线程安全的函数,那么结 ...

最新文章

  1. C# 获得系统AppData路径
  2. 如何证明CPU缓存行cacheline的存在?
  3. 32怎么将mcu内的代码擦除_凭借这款MCU产品,瑞萨电子竟然超越了ARM?
  4. THREEJS - mousedown/mouseup等鼠标相关事件失效
  5. Roling in the deep
  6. FISCO BCOS(四)——— 在Ubantu上安装python3.8
  7. SD卡、TF卡读写速率测试
  8. 一般阈值,Otsu,自适应阈值
  9. 苹果悄悄在硅谷买楼 以古希腊诸神命名 据说跟造车有关
  10. Mysql数据库操作语句总结(一)
  11. 某型发动机整机测试研究
  12. 计算机无法读取移动光驱,电脑检测不到光驱怎么办?
  13. 记一个openwrt reboot异步信号处理死锁问题
  14. memset函数原型
  15. arduino tft 方向_arduino 控制TFT液晶显示屏,在屏幕上画了四个按键,如何检测是否被按下和释放呢?...
  16. 看了下李航的《统计学习方法》
  17. 微信小程序生成普通网页的二维码
  18. 研习社实战营--朱老师、猫老师,手把手带你入场打猎!
  19. Android短彩信数据库解析
  20. Linux 实用指令 -- 权限管理、crond 任务调度

热门文章

  1. 备战面试日记(3.4) - (设计模式.23种设计模式之行为型模式)
  2. 告诉你一个真实的精准营销
  3. 神经网络体系搭建(五)
  4. 今天我的后背又开始发凉
  5. 三国志战略版:经典陆抗阵容
  6. 地平线 旭日X3 SDB开发板 (三) 工具链仿真/板上测试
  7. JETBRAINS开发工具中Translation翻译插件的使用
  8. 多品牌“精密空调”能集中监控?Pmcenter来为你解答
  9. 盈亏比例 php,()是指某一行业内企业的固定成本和可变成本之间的比例。A.财务报表结构B.盈亏平衡点...
  10. c语言switch今天星期几,巧用C语言中的switch语句实现星期的推算