QTypeRevision Class
QTypeRevision 类包含一个版本号的轻量级表示形式,该版本号由两个 8 位段组成:主版本号和次版本号,其中任一者都可能未知。更多...
| 头文件: | #include <QTypeRevision> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 自: | Qt 6.0 |
QTypeRevision 比较
| 类别 | 可比较类型 |
|---|---|
| strong | QTypeRevision |
公共函数
| 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 default] QTypeRevision::QTypeRevision()
会生成一个无效的修订版本。
另请参阅 isValid()。
[static constexpr] template <typename Integer, QTypeRevision::if_valid_value_type<Integer> = true> QTypeRevision QTypeRevision::fromEncodedVersion(Integer value)
根据给定的value 生成QTypeRevision 。value 分别在最低有效字节和第二低有效字节中编码次版本号和主版本号。
value 除最低有效两个字节外,其余位均不得被设置。Integer 的位宽必须至少为 16 位,且最低有效 16 位中不得包含符号位。
另请参阅 toEncodedVersion()。
[static constexpr] template <typename Major, QTypeRevision::if_valid_segment_type<Major> = true> QTypeRevision QTypeRevision::fromMajorVersion(Major majorVersion)
根据给定的majorVersion (其次版本号无效)生成一个QTypeRevision 。majorVersion 必须是一个有效的段。
另请参阅 isValidSegment()。
[static constexpr] template <typename Minor, QTypeRevision::if_valid_segment_type<Minor> = true> QTypeRevision QTypeRevision::fromMinorVersion(Minor minorVersion)
根据给定的minorVersion (其主版本号无效)生成一个QTypeRevision 。minorVersion 必须是一个有效的分段。
另请参阅 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)
根据给定的majorVersion 和minorVersion 生成一个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 中引入。
© 2026 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.