如何使用Qt5Compat库从Qt 5移植到Qt 6

从Qt 5移植到Qt 6的过程一直很容易。在Qt 6的整个开发过程中,一直有意识地努力保持与Qt 5的尽可能多的源兼容性。尽管如此,移植仍需要一些努力。这篇简短的文章总结了移植到Qt 6时所需的一些步骤。

工具推荐:

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

在Qt 5中,有些类别已经有现有的替代品,并且某些类别在Qt 6开发阶段得到了继任者。因此,能够同时使用旧的和新的Qt版本编译代码可能很有意义。这样可以确保将不使用任何版本的代码进行编译的工作量减至最少,从而使您的应用程序或库可以继续与Qt 5和Qt 6一起工作。另一个优点是,现有的单元测试对于大多数版本都可以继续工作。移植的持续时间以及移植代码所导致的回归与Qt 6中引入的错误很容易区分开。

种类

下表列出了在Qt 6中已删除但为了便于移植而保留在Qt5Compat中的类。它还包含将在Qt6中的新代码中使用的类。

Qt 5类Qt 6更换QLinkedList
std :: list *QRegExpQRegularExpressionQStringRefQStringViewQXmlSimpleReaderQXmlStreamReaderQTextCodecQStringConverterQTextEncoderQStringEncoderQTextDecoderQStringDecoder

*如果不需要链接列表的引用稳定性,则也可以考虑使用QList。

调整构建系统

如果要继续使用上述Qt 5类,首先需要调整您的构建系统以链接到新的Qt5Compat模块。对于qmake构建系统,将以下行添加到.pro文件中:

QT = core5compat

如果您已经将应用程序或库移植到了cmake构建系统,请将以下内容添加到您的 CMakeList.txt:

PUBLIC_LIBRARIESQt::Core5Compat

修复包括

除了显然需要进行的构建系统更改外,您可能还需要修复前面提到的类的包含。您的实际代码可能如下所示:

#include <QtCore / QRegExp>

需要针对新的Qt5Compat模块进行更新:

#include <QtCore5Compat / QRegExp>

或使用更加简单和可移植的版本:

#include <QRegExp>

好了这就是今天的内容了,如果今天的文章未解决你的需求,可点击点击文末“了解更多”获取更多免费教程。不要忘了在评论与我分享您的想法和建议。最后一句:记得关注我哦!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(1)
上一篇 2023年3月16日 上午8:22
下一篇 2023年3月16日 上午8:32

相关推荐

  • 中国航发动研所

    中国航发研究院简介 中国航发研究院(China航空航天工业研究院)是中国航空航天工业部旗下的一个研究机构,成立于1958年,总部位于北京市。是中国航空航天工业领域的重要研究机构之一…

    科研百科 2024年10月1日
    19
  • 科研项目是每二年申报一次

    科研项目每二年申报一次 随着科技的不断发展,科研项目每二年申报一次的现象也越来越普遍。这些项目涉及到各种领域,包括自然科学、工程技术、社会科学和医学等。这些项目旨在推动科学技术的进…

    科研百科 2024年4月11日
    64
  • 工程项目管理相关知识

    工程项目管理相关知识 工程项目管理是一个非常重要的领域,涉及到项目的规划、执行、监督和收尾。工程项目管理不仅仅是为了完成项目的目标,更是为了在项目期间确保项目的成功实施。本文将介绍…

    科研百科 2024年8月27日
    37
  • 线上科研项目来啦!留学背景提升?一个暑假就够了(留学机构的线上科研)

    热门国家/地区的留学请门槛是越来越高了,在跟相同背景均分的同学竞争时,没有个拿得出手的科研项目或者实习经历,还真是卷不赢了‍♀️ 所以啊!趁着暑假还没有结束,你同学都在家追剧打游戏…

    科研百科 2024年4月19日
    68
  • 项目管理的精细化

    项目管理的精细化 项目管理在商业和组织中扮演着至关重要的角色。它涉及计划, 组织, 控制和跟踪项目的进展, 确保项目在预算, 时间和质量方面的成功完成。然而, 在许多情况下, 项目…

    科研百科 2024年8月17日
    37
  • 于超群国家科研项目

    于超群: 探索宇宙奥秘的国家科研项目 宇宙是一个无限的、神秘的空间,人类一直在探索着它的的奥秘。最近,于超群国家科研项目在宇宙中取得了一些重要的进展。 该项目旨在探索宇宙的起源和演…

    科研百科 2025年3月10日
    1
  • 聊城市农科院走上种业创新高质量发展之路(聊城市农科所)

    齐鲁晚报·齐鲁壹点 记者 张同建 通讯员 周坤 8月27日上午,在新闻发布会的问答环节,聊城市农科院党组成员、副院长熊永星说,近年来,市农科院紧密结合聊城产业需要,坚持重点突破,全…

    科研百科 2024年4月19日
    174
  • 系统项目管理师范围

    系统项目管理师:系统项目管理师的角色和职责 系统项目管理师是一种高级职位,负责管理和维护系统的开发、测试、部署和维护。系统项目管理师的职责涉及多个方面,包括项目计划、资源管理、风险…

    科研百科 2025年1月8日
    0
  • 公路科研项目可行性报告

    公路科研项目可行性报告 随着中国经济的快速发展,公路建设已经成为基础设施建设的重要组成部分。公路科研项目是公路建设的重要组成部分,也是推动经济增长的重要力量。本文将介绍公路科研项目…

    科研百科 5小时前
    1
  • 研究生创新基金项目延迟结题理由

    研究生创新基金项目延迟结题理由研究生创新基金项目延迟结题理由一、职业院校学费2000元,高校学生工作情况1、国家规定研究生在学费2、学校规定学生申请的学生每学期平均发放学费的时间为…

    科研百科 2024年11月27日
    0