QVersionNumber 类

QVersionNumber 类包含一个带有任意段数的版本号。更多信息...

头文件 #include <QVersionNumber>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公共函数

QVersionNumber()
QVersionNumber(const QList<int> &seg)
QVersionNumber(QList<int> &&seg)
QVersionNumber(std::initializer_list<int> args)
(自 6.4) QVersionNumber(const QVarLengthArray<int, N> &seg)
QVersionNumber(int maj)
QVersionNumber(int maj, int min)
QVersionNumber(int maj, int min, int mic)
boolisNormalized() const
boolisNull() const
boolisPrefixOf(const QVersionNumber &other) const
intmajorVersion() const
intmicroVersion() const
intminorVersion() const
QVersionNumbernormalized() const
intsegmentAt(qsizetype index) const
qsizetypesegmentCount() const
QList<int>segments() const
QStringtoString() const

静态公共成员

QVersionNumbercommonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
intcompare(const QVersionNumber &v1, const QVersionNumber &v2)
(自 6.4) QVersionNumberfromString(QAnyStringView string, qsizetype *suffixIndex = nullptr)
booloperator!=(const QVersionNumber &lhs, const QVersionNumber &rhs)
booloperator<(const QVersionNumber &lhs, const QVersionNumber &rhs)
QDataStream &operator<<(QDataStream &out, const QVersionNumber &version)
booloperator<=(const QVersionNumber &lhs, const QVersionNumber &rhs)
booloperator==(const QVersionNumber &lhs, const QVersionNumber &rhs)
booloperator>(const QVersionNumber &lhs, const QVersionNumber &rhs)
booloperator>=(const QVersionNumber &lhs, const QVersionNumber &rhs)
QDataStream &operator>>>(QDataStream &in, QVersionNumber &version)

详细描述

QVersionNumber version(1, 2, 3);  // 1.2.3

成员函数文档

[noexcept] QVersionNumber::QVersionNumber()

生成一个空版本。

另请参阅 isNull().

[explicit] QVersionNumber::QVersionNumber(const QList<int> &seg)

seg中包含的数字列表构造版本号。

[explicit] QVersionNumber::QVersionNumber(QList<int> &&seg)

seg中包含的数字列表移动构造版本号。

QVersionNumber::QVersionNumber(std::initializer_list<int> args)

从由args指定的std::initializer_list构造版本号。

[explicit, since 6.4] 模板 <qsizetype N> QVersionNumber::QVersionNumber(const QVarLengthArray<int, N> &seg)

seg中包含的数字列表构造版本号。

此函数自Qt 6.4引入。

[explicit] QVersionNumber::QVersionNumber(int maj)

仅由主要版本号maj构造一个QVersionNumber。

[explicit] QVersionNumber::QVersionNumber(int maj, int min)

respectively。

[explicit] QVersionNumber::QVersionNumber(int maj, int min, int mic)

分别构造main, minor和micro版本的QVersionNumber。

[static] QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)

QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)

返回一个同时是v1v2父版本的版本号。

另请参阅 isPrefixOf().

[静态,异常安全] int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2)

比较v1v2,并根据v1是小于、等于还是大于v2,返回小于、等于或大于零的整数。

比较是通过比较从索引0开始的v1v2的各个片段,并逐步向较长列表的末尾工作来进行的。

QVersionNumber v1(1, 2);
QVersionNumber v2(1, 2, 0);
int compare = QVersionNumber::compare(v1, v2); // compare == -1

[静态,自6.4版以来] QVersionNumber QVersionNumber::fromString(QAnyStringView string, qsizetype *suffixIndex = nullptr)

从一个特别格式的非负十进制数字字符串中构造一个QVersionNumber,该字符串由点(.)分隔。

解析数字片段后,字符串的其余部分被认为是后缀字符串。如果它不为空,该字符串的起始索引将存储在suffixIndex中。

QLatin1StringView string("5.4.0-alpha");
qsizetype suffixIndex;
auto version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5

注意:在Qt 6.4之前的版本中,此函数重载了QStringQLatin1StringViewQStringView,并且suffixIndex是一个int*

此函数自Qt 6.4引入。

另请参阅 isNull().

[异常安全] bool QVersionNumber::isNormalized() const

如果版本号不包含任何尾随零,则返回true,否则返回false

另请参阅:normalized()。

[异常安全] bool QVersionNumber::isNull() const

如果没有数值段,则返回true,否则返回false

另请参阅:segments()。

[异常安全] bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const

如果当前版本号包含在other版本号中,则返回true,否则返回false

QVersionNumber v1(5, 3);
QVersionNumber v2(5, 3, 1);
bool value = v1.isPrefixOf(v2); // true

另请参阅:commonPrefix()。

[异常安全] int QVersionNumber::majorVersion() const

返回主版本号,即第一个片段。此函数等同于segmentAt(0)。如果这个QVersionNumber对象为空,则此函数返回0。

另请参阅:isNull()和segmentAt()。

[异常安全] int QVersionNumber::microVersion() const

返回微版本号,即第三个分段。此函数等价于 segmentAt(2)。如果此 QVersionNumber 对象不包含微版本号,则此函数返回 0。

另请参阅:isNull()和segmentAt()。

[noexcept] int QVersionNumber::minorVersion() const

返回微版本号,即第二个分段。此函数等价于 segmentAt(1)。如果此 QVersionNumber 对象不包含微版本号,则此函数返回 0。

另请参阅:isNull()和segmentAt()。

QVersionNumber QVersionNumber::normalized() const

返回一个等效版本号,但已删除所有尾随零。

要检查两个数字是否等效,在执行比较之前先对两个版本号使用 normalized()。

QVersionNumber v1(5, 4);
QVersionNumber v2(5, 4, 0);
bool equivalent = v1.normalized() == v2.normalized();
bool equal = v1 == v2;
// equivalent is true
// equal is false

[noexcept] int QVersionNumber::segmentAt(qsizetype index) const

返回 index 位置的分段值。如果索引不存在,则返回 0。

另请参阅 segments() 和 segmentCount

[noexcept] qsizetype QVersionNumber::segmentCount() const

返回存储在 segments 中的整数数量。

另请参阅:segments()。

QList<int> QVersionNumber::segments() const

返回所有的数值分段。

另请参阅 majorVersion()、minorVersion() 和 microVersion

QString QVersionNumber::toString() const

返回一个包含所有分段并以点(.)分隔的字符串。

另请参阅 majorVersion()、minorVersion()、microVersion() 和 segments

相关非成员

[noexcept] bool operator!=(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果 lhs 不等于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

[noexcept] bool operator<(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果 lhs 小于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

QDataStream &operator<<(QDataStream &out, const QVersionNumber &version)

将版本号 version 写入流 out

请注意,这与QDataStream::version()无关。

[noexcept] bool operator<=(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果lhs 小于或等于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

[noexcept] bool operator==(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果lhs 等于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

[noexcept] bool operator>(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果lhs 大于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

[noexcept] bool operator>=(const QVersionNumber &lhs, const QVersionNumber &rhs)

如果lhs 大于或等于 rhs,则返回 true;否则返回 false

另请参阅 QVersionNumber::compare

QDataStream &operator>>(QDataStream &in, QVersionNumber &version)

从输入流 in 中读取一个版本号并将其存储在 version 中。

请注意,这与QDataStream::version()无关。

© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。所提供的文档受GNU自由文档许可版本1.3的许可,该许可由自由软件基金会发布。Qt及其相关标志是芬兰及/或其他国家的The Qt Company Ltd的商标。所有其他商标均为各自所有者的财产。