Qt6 中使用 Core5Compat 和 Qt5Compat

【写在前面】

        最近使用 Qt6 有一段时间了,其实对于 Qml 来说,语法上的变动不是很大。

        不过在一些组件的使用中发现很多效果和以前不太一样。

        另一方面,Qt5 (Qml) 中一些比较常用的也消失了,并且没有直接替代,需要注意。

        其中,影响最大的是 移除了 QtQuick.Controls 1.x QtGraphicalEffects 移动到 Qt5Compat 模块中。

        而对于 Qt C++ 部分,影响最大的则是 QTextCodec ,并且没有直接替代 ( Qt6 提供的 QStringConverter / QStringEncoder / QStringDecoder 不能完全替代 )


【正文开始】

        1、Qt C++ 中的 Core5Compat

        在 Qt5 中,这些类位于 Qt Core 中,Qt6 移动到 Qt Core5Compat,要使用它们:

        对于 qmake: QT += core5compat

        对于 cmake:

        find_package(Qt6 COMPONENTS Core5Compat REQUIRED)

        target_link_libraries(mytarget PUBLIC Qt6::Core5Compat)

QLinkedList提供链表的模板类--- / 建议使用 std:list
QLinkedList::const_iterator提供一个 STL 风格的 const 迭代器---
QLinkedList::iterator提供一个 STL 风格的非 const 迭代器---
QLinkedListIteratorJava 风格的常量迭代器---
QMutableLinkedListIteratorJava 风格的非常量迭代器---
QRegExp使用正则表达式进行模式匹配弃用,使用 QRegularExpression 替代
QStringRef围绕 QString 子字符串的薄包装器弃用,使用 QStringView 替代
QTextCodec文本编码之间的转换--- / QStringConverterr 部分替代
QTextDecoder基于状态的解码器--- / QStringDecoder 部分替代
QTextEncoder基于状态的编码器--- / QStringEncoder 部分替代
QXmlAttributesXML 属性弃用
QXmlContentHandler报告 XML 数据的逻辑内容的接口弃用
QXmlDTDHandler报告 XML 数据的DTD内容的接口弃用
QXmlDeclHandler报告 XML 数据的声明内容的接口弃用
QXmlDefaultHandler所有 XML 处理程序类的默认实现弃用
QXmlEntityResolver用于解析 XML 数据中包含的外部实体弃用
QXmlErrorHandler报告 XML 数据中的错误的接口弃用
QXmlInputSourceQXmlReader 子类的输入数据弃用
QXmlLexicalHandler告XML数据的词法内容的接口弃用
QXmlLocatorXML 处理程序类,包含有关文件中解析位置的信息弃用
QXmlNamespaceSupportHelper 类,用于希望包含命名空间支持的 XML 阅读器弃用
QXmlParseException用于使用 QXmlErrorHandler 接口报告错误
用于 XML 阅读器(即解析器)的 QXmlReader 接口
弃用
QXmlReaderXML 阅读器(即解析器)的接口弃用
QXmlSimpleReader一个简单的 XML 解析器的实现弃用,使用  QXmlStreamReader 替代

        要注意的是:弃用的可能在未来版本删除,不建议使用

        并且,如果不使用 Core5Compat,则需要使用第三列的建议改写代码。

        2、Qml 中的 Qt5Compat

        所有以前位于 QtGraphicalEffects 的移动到 Qt5Compat.GraphicalEffects 中。

        Qt6 使用时只需 import Qt5Compat.GraphicalEffects 即可。


【结语】

        截止到目前,最新的 Qt 版本为 Qt 6.4,但发现仍然有不少问题,因此并不建议升级。

        另外,Qt5Compat.GraphicalEffects 模块中的部分组件效果和原来并不一样,需要使用其他方法替代。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦起丶

您的鼓励和支持是我创作最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值