QVersionNumber 类
QVersionNumber 类包含一个带有任意段数的版本号。更多信息...
头文件 | #include <QVersionNumber> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += 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) | |
bool | isNormalized() const |
bool | isNull() const |
bool | isPrefixOf(const QVersionNumber &other) const |
int | majorVersion() const |
int | microVersion() const |
int | minorVersion() const |
QVersionNumber | normalized() const |
int | segmentAt(qsizetype index) const |
qsizetype | segmentCount() const |
QList<int> | segments() const |
QString | toString() const |
静态公共成员
QVersionNumber | commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2) |
int | compare(const QVersionNumber &v1, const QVersionNumber &v2) |
(自 6.4) QVersionNumber | fromString(QAnyStringView string, qsizetype *suffixIndex = nullptr) |
相关非成员
bool | operator!=(const QVersionNumber &lhs, const QVersionNumber &rhs) |
bool | operator<(const QVersionNumber &lhs, const QVersionNumber &rhs) |
QDataStream & | operator<<(QDataStream &out, const QVersionNumber &version) |
bool | operator<=(const QVersionNumber &lhs, const QVersionNumber &rhs) |
bool | operator==(const QVersionNumber &lhs, const QVersionNumber &rhs) |
bool | operator>(const QVersionNumber &lhs, const QVersionNumber &rhs) |
bool | operator>=(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)
返回一个同时是v1和v2父版本的版本号。
另请参阅 isPrefixOf().
[静态,异常安全]
int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2)
比较v1与v2,并根据v1是小于、等于还是大于v2,返回小于、等于或大于零的整数。
比较是通过比较从索引0开始的v1和v2的各个片段,并逐步向较长列表的末尾工作来进行的。
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之前的版本中,此函数重载了QString、QLatin1StringView和QStringView,并且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。
[异常安全]
int QVersionNumber::microVersion() const
返回微版本号,即第三个分段。此函数等价于 segmentAt(2)。如果此 QVersionNumber 对象不包含微版本号,则此函数返回 0。
[noexcept]
int QVersionNumber::minorVersion() const
返回微版本号,即第二个分段。此函数等价于 segmentAt(1)。如果此 QVersionNumber 对象不包含微版本号,则此函数返回 0。
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的商标。所有其他商标均为各自所有者的财产。