QVersionNumber Class
QVersionNumber 类包含一个具有任意段数的版本号。更多
头文件: | #include <QVersionNumber> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
该类具有很强的可比性。
公共类型
(since 6.8) | const_iterator |
(since 6.8) | const_pointer |
(since 6.8) | const_reference |
(since 6.8) | const_reverse_iterator |
(since 6.8) | difference_type |
(since 6.8) | pointer |
(since 6.8) | reference |
(since 6.8) | size_type |
(since 6.8) | value_type |
公共函数
QVersionNumber() | |
QVersionNumber(QList<int> &&seg) | |
(since 6.8) | QVersionNumber(QSpan<const int> args) |
QVersionNumber(const QList<int> &seg) | |
QVersionNumber(int maj) | |
QVersionNumber(std::initializer_list<int> args) | |
QVersionNumber(int maj, int min) | |
QVersionNumber(int maj, int min, int mic) | |
(since 6.8) QVersionNumber::const_iterator | begin() const |
(since 6.8) QVersionNumber::const_iterator | cbegin() const |
(since 6.8) QVersionNumber::const_iterator | cend() const |
(since 6.8) QVersionNumber::const_iterator | constBegin() const |
(since 6.8) QVersionNumber::const_iterator | constEnd() const |
(since 6.8) QVersionNumber::const_reverse_iterator | crbegin() const |
(since 6.8) QVersionNumber::const_reverse_iterator | crend() const |
(since 6.8) QVersionNumber::const_iterator | end() const |
bool | isNormalized() const |
bool | isNull() const |
bool | isPrefixOf(const QVersionNumber &other) const |
int | majorVersion() const |
int | microVersion() const |
int | minorVersion() const |
QVersionNumber | normalized() const |
(since 6.8) QVersionNumber::const_reverse_iterator | rbegin() const |
(since 6.8) QVersionNumber::const_reverse_iterator | rend() 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) |
(since 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
成员类型文档
[alias, since 6.8]
QVersionNumber::const_iterator
[alias, since 6.8]
QVersionNumber::const_reverse_iterator
不透明类的类型定义,该类实现了QVersionNumber 片段的(反向)随机访问迭代器。
注意: QVersionNumber 不支持就地修改段,因此不存在可变迭代器。
此类型定义在 Qt 6.8 中引入。
[alias, since 6.8]
QVersionNumber::const_pointer
[alias, since 6.8]
QVersionNumber::const_reference
[alias, since 6.8]
QVersionNumber::difference_type
[alias, since 6.8]
QVersionNumber::pointer
[alias, since 6.8]
QVersionNumber::reference
[alias, since 6.8]
QVersionNumber::size_type
[alias, since 6.8]
QVersionNumber::value_type
为与 STL 兼容而提供。
注意: QVersionNumber 不支持就地修改段,因此引用和const_reference 以及指针和const_pointer 是成对的相同类型。
此类型定义在 Qt 6.8 中引入。
成员函数文档
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::begin() const
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::cbegin() const
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::cend() const
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::constBegin() const
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::constEnd() const
[noexcept, since 6.8]
QVersionNumber::const_iterator QVersionNumber::end() const
[noexcept, since 6.8]
QVersionNumber::const_reverse_iterator QVersionNumber::crbegin() const
[noexcept, since 6.8]
QVersionNumber::const_reverse_iterator QVersionNumber::crend() const
[noexcept, since 6.8]
QVersionNumber::const_reverse_iterator QVersionNumber::rbegin() const
[noexcept, since 6.8]
QVersionNumber::const_reverse_iterator QVersionNumber::rend() const
分别返回const_iterator 或const_reverse_iterator ,指向该版本号的第一个或最后一个分段。
注意: QVersionNumber 不支持就地修改段,因此没有可变迭代器。
此函数在 Qt 6.8 中引入。
[noexcept]
QVersionNumber::QVersionNumber()
生成空版本。
另请参见 isNull().
[explicit]
QVersionNumber::QVersionNumber(QList<int> &&seg)
移动-从seg 中包含的数字列表中生成版本号。
[explicit, since 6.8]
QVersionNumber::QVersionNumber(QSpan<const int> args)
从args 指定的 span 构造一个版本号。
注意: 在 6.8 之前的 Qt 版本中,QVersionNumber 只能由QList 、QVarLenthArray 或 std::initializer_list 构造。
此函数在 Qt 6.8 中引入。
[explicit]
QVersionNumber::QVersionNumber(const QList<int> &seg)
从seg 中包含的数字列表中构造一个版本号。
[explicit]
QVersionNumber::QVersionNumber(int maj)
构造一个仅包含主要版本号的 QVersionNumbermaj 。
QVersionNumber::QVersionNumber(std::initializer_list<int> args)
根据args 指定的 std::initializer_list 构造版本号。
[explicit]
QVersionNumber::QVersionNumber(int maj, int min)
构造一个 QVersionNumber,由主版本号maj 和次版本号min 分别组成。
[explicit]
QVersionNumber::QVersionNumber(int maj, int min, int mic)
构造一个 QVersionNumber,分别由大版本号、小版本号和微版本号组成maj,min 和mic 。
[static]
QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
QVersionNumber QVersionNumber::commonPrefix(const &v1, const &v2)QVersionNumber QVersionNumber
返回同时是v1 和v2 的父版本的版本号。
另请参见 isPrefixOf()。
[static noexcept]
int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2)
将v1 与v2 进行比较,并根据v1 是否小于、等于或大于v2 ,分别返回一个小于、等于或大于零的整数。
比较是通过比较v1 和v2 的段来进行的,从索引 0 开始,一直到长列表的末尾。
QVersionNumber v1(1, 2); QVersionNumber v2(1, 2, 0); int compare = QVersionNumber::compare(v1, v2); // compare == -1
[static, since 6.4]
QVersionNumber QVersionNumber::fromString(QAnyStringView string, qsizetype *suffixIndex = nullptr)
用以句号(.
)分隔的非负数十进制数字的特殊格式string 构建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() 。
[noexcept]
bool QVersionNumber::isNormalized() const
如果版本号不包含任何尾数零,则返回true
,否则返回false
。
另请参阅 normalized() 。
[noexcept]
bool QVersionNumber::isNull() const
如果数字段为零,则返回true
,否则返回false
。
另请参见 segments() 。
[noexcept]
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() 。
[noexcept]
int QVersionNumber::majorVersion() const
返回主要版本号,即第一段。该函数等同于segmentAt(0)。如果QVersionNumber 对象为空,则此函数返回 0。
[noexcept]
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() 无关。
© 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.