QTypeRevision Class

QTypeRevision 类包含一个版本号的轻量级表示法,它有两个 8 位段,即 major 和 minor,其中任何一个都可以是未知的。更多

头文件: #include <QTypeRevision>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Qt 6.0

该类具有很强的可比性

公共函数

QTypeRevision()
bool hasMajorVersion() const
bool hasMinorVersion() const
bool isValid() const
quint8 majorVersion() const
quint8 minorVersion() const
Integer toEncodedVersion() const

静态公共成员

QTypeRevision fromEncodedVersion(Integer value)
QTypeRevision fromMajorVersion(Major majorVersion)
QTypeRevision fromMinorVersion(Minor minorVersion)
QTypeRevision fromVersion(Major majorVersion, Minor minorVersion)
bool isValidSegment(Integer segment)
QTypeRevision zero()
(since 6.0) QDataStream &operator<<(QDataStream &out, const QTypeRevision &revision)
(since 6.0) QDataStream &operator>>(QDataStream &in, QTypeRevision &revision)

详细描述

使用该类描述类型的修订版本。兼容修订可表示为次要版本的增量。破坏性修改可以用主要版本的增量来表示。QMetaMethod::revision() 和QMetaProperty::revision() 的返回值可传递给QTypeRevision::fromEncodedVersion()。生成的主版本和次版本将指明属性和方法是在哪个 Qt 版本中添加的。

另请参阅 QMetaMethod::revision() 和QMetaProperty::revision()。

成员函数文档

[constexpr noexcept] QTypeRevision::QTypeRevision()

产生无效修订。

另请参阅 isValid().

[static constexpr] template <typename Integer, QTypeRevision::if_valid_value_type<Integer> = true> QTypeRevision QTypeRevision::fromEncodedVersion(Integer value)

从给定的value 生成QTypeRevisionvalue 在最小有效字节和第二个最小有效字节中分别对次要版本和主要版本进行编码。

value Integer 的宽度至少要有 16 位,并且在最不重要的 16 位中不能有符号位。

另请参见 toEncodedVersion()。

[static constexpr] template <typename Major, QTypeRevision::if_valid_segment_type<Major> = true> QTypeRevision QTypeRevision::fromMajorVersion(Major majorVersion)

从给定的majorVersion 生成一个次版本无效的QTypeRevisionmajorVersion 必须是一个有效的段。

另请参见 isValidSegment().

[static constexpr] template <typename Minor, QTypeRevision::if_valid_segment_type<Minor> = true> QTypeRevision QTypeRevision::fromMinorVersion(Minor minorVersion)

从给定的minorVersion 生成主版本无效的QTypeRevisionminorVersion 必须是有效的段。

另请参见 isValidSegment().

[static constexpr] template <typename Major, typename Minor, QTypeRevision::if_valid_segment_type<Major> = true, QTypeRevision::if_valid_segment_type<Minor> = true> QTypeRevision QTypeRevision::fromVersion(Major majorVersion, Minor minorVersion)

从给定的majorVersionminorVersion 生成QTypeRevision ,这两个地址必须是有效的段。

另请参阅 isValidSegment() 。

[constexpr] bool QTypeRevision::hasMajorVersion() const

如果已知主要版本,则返回 true,否则返回 false。

另请参阅 majorVersion() 和hasMinorVersion()。

[constexpr] bool QTypeRevision::hasMinorVersion() const

如果知道次要版本,则返回 true,否则返回 false。

另请参阅 minorVersion() 和hasMajorVersion()。

[constexpr] bool QTypeRevision::isValid() const

如果已知主要版本或次要版本,则返回 true,否则返回 false。

另请参阅 hasMajorVersion() 和hasMinorVersion()。

[static constexpr] template <typename Integer, QTypeRevision::if_valid_segment_type<Integer> = true> bool QTypeRevision::isValidSegment(Integer segment)

如果给定的数字可用作QTypeRevision 中的主版本或次要版本,则返回 true。segment 的有效范围是>= 0< 255

[constexpr] quint8 QTypeRevision::majorVersion() const

返回修订版中编码的主要版本。

另请参阅 hasMajorVersion() 和minorVersion()。

[constexpr] quint8 QTypeRevision::minorVersion() const

返回版本号中编码的次版本。

另请参阅 hasMinorVersion() 和majorVersion()。

[constexpr] template <typename Integer, QTypeRevision::if_valid_value_type<Integer> = true> Integer QTypeRevision::toEncodedVersion() const

将修订版本转换为整数值,将次要版本编码为最小有效字节,将主要版本编码为第二个最小有效字节。

Integer 版本号至少需要 16 位宽,且在最小有效的 16 位中不能有符号位。

另请参见 fromEncodedVersion()。

[static constexpr] QTypeRevision QTypeRevision::zero()

生成包含主要和次要版本的QTypeRevision 0

相关非会员

[since 6.0] QDataStream &operator<<(QDataStream &out, const QTypeRevision &revision)

将修订版revision 写入流out

此函数在 Qt 6.0 中引入。

[since 6.0] QDataStream &operator>>(QDataStream &in, QTypeRevision &revision)

从数据流in 中读取修订版,并将其存储在revision 中。

此函数在 Qt 6.0 中引入。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.