Qt 6 中的 Qt Extras 模块

一、前言

  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取代。

免责声明:务必仔细阅读

  • 本站为个人博客,博客所转载的一切破解、path、补丁、注册机和注册信息及软件等资源文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。

  • 本站为非盈利性站点,打赏作为用户喜欢本站捐赠打赏功能,本站不贩卖软件等资源,所有内容不作为商业行为。

  • 本博客的文章中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.

  • 本博客的任何内容,未经许可禁止任何公众号、自媒体进行任何形式的转载、发布。

  • 博客对任何脚本资源教程问题概不负责,包括但不限于由任何脚本资源教程错误导致的任何损失或损害.

  • 间接使用相关资源或者参照文章的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 博客对于由此引起的任何隐私泄漏或其他后果概不负责.

  • 请勿将博客的任何内容用于商业或非法目的,否则后果自负.

  • 如果任何单位或个人认为该博客的任何内容可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明至admin@proyy.com.我们将在收到认证文件后删除相关内容.

  • 任何以任何方式查看此博客的任何内容的人或直接或间接使用该博客的任何内容的使用者都应仔细阅读此声明。博客保留随时更改或补充此免责声明的权利。一旦使用并复制了博客的任何内容,则视为您已接受此免责声明.

您必须在下载后的24小时内从计算机或手机中完全删除以上内容.

您使用或者复制了本博客的任何内容,则视为已接受此声明,请仔细阅读


更多福利请关注一一网络微信公众号或者小程序

一一网络微信公众号
打个小广告,宝塔服务器面板,我用的也是,很方便,重点是免费的也能用,没钱太难了,穷鬼一个,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9kY3ZwbXo=


一一网络 » Qt 6 中的 Qt Extras 模块

发表评论

发表评论

一一网络-提供最优质的文章集合

立即查看 了解详情