Класс QVersionNumber
Класс QVersionNumber содержит номер версии с произвольным числом сегментов. Подробнее...
| Заголовок: | #include <QVersionNumber> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| С момента: | Qt 5.6 |
Открытые функции
| QVersionNumber(int maj, int min, int mic) | |
| QVersionNumber(int maj, int min) | |
| QVersionNumber(int maj) | |
| QVersionNumber(std::initializer_list<int> args) | |
| QVersionNumber(QList<int> &&seg) | |
| QVersionNumber(const QList<int> &seg) | |
| QVersionNumber() | |
| 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(int index) const |
| int | 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) |
| QVersionNumber | fromString(const QString &string, int *suffixIndex = nullptr) |
| QVersionNumber | fromString(QLatin1String string, int *suffixIndex = nullptr) |
| QVersionNumber | fromString(QStringView string, int *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
Документация по функциям-членам
QVersionNumber::QVersionNumber(int maj, int min, int mic)
Создает QVersionNumber, состоящий из номеров основных, второстепенных и микроверсий maj, min и mic соответственно.
QVersionNumber::QVersionNumber(int maj, int min)
Создаёт QVersionNumber, состоящий из основных и второстепенных номеров версий maj и min соответственно.
QVersionNumber::QVersionNumber(int maj)
Создаёт QVersionNumber, состоящий только из номера основной версии maj.
QVersionNumber::QVersionNumber(std::initializer_list<int> args)
Создаёт номер версии из переданного std::initializer_list args.
Этот конструктор доступен только если компилятор поддерживает C++11 списки инициализации.
QVersionNumber::QVersionNumber(QList<int> &&seg)
Перемещающее создание номера версии из списка чисел, содержащихся в seg.
Этот конструктор доступен только если компилятор поддерживает C++11 семантику перемещения.
QVersionNumber::QVersionNumber(const QList<int> &seg)
Создаёт номер версии из списка чисел, содержащихся в seg.
QVersionNumber::QVersionNumber()
Создаёт нулевую версию.
См. также isNull().
[static] QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2)
Возвращает номер версии, являющейся родительской версией как для v1, так и для v2.
См. также isPrefixOf().
[static] int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2)
Сравнивает v1 с v2 и возвращает целое число, меньшее, равное или большее нуля, в зависимости от того, меньше ли v1, равно ли v1 или больше ли v1 соответственно, чем v2.
Сравнения выполняются путём сравнения сегментов v1 и v2, начиная с индекса 0 и работая в сторону конца более длинного списка.
QVersionNumber v1(1, 2); QVersionNumber v2(1, 2, 0); int compare = QVersionNumber::compare(v1, v2); // compare == -1
[static] QVersionNumber QVersionNumber::fromString(const QString &string, int *suffixIndex = nullptr)
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой (.).
После разбора числовых сегментов, остаток строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 См. также isNull().
[static, since 5.10] QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex = nullptr)
Это перегруженный метод.
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой '.'.
После разбора числовых сегментов, остаток строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QLatin1String string("5.4.0-alpha");
int suffixIndex;
auto version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 Этот метод был добавлен в Qt 5.10.
См. также isNull().
[static, since 5.10] QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex = nullptr)
Это перегруженный метод.
Создаёт QVersionNumber из специально отформатированной строки неотрицательных десятичных чисел, разделённых точкой '.'.
После разбора числовых сегментов, остаток строки считается строкой суффикса. Начальный индекс этой строки будет сохранён в suffixIndex, если он не равен null.
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &suffixIndex);
// version is 5.4.0
// suffixIndex is 5 Этот метод был добавлен в Qt 5.10.
См. также isNull().
bool QVersionNumber::isNormalized() const
Возвращает true если номер версии не содержит хвостовых нулей, иначе возвращает false.
См. также normalized().
bool QVersionNumber::isNull() const
Возвращает true если числовых сегментов ноль, иначе возвращает false.
См. также segments().
bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const
Возвращает true если текущий номер версии содержится в номере версии other, иначе возвращает false.
QVersionNumber v1(5, 3); QVersionNumber v2(5, 3, 1); bool value = v1.isPrefixOf(v2); // true
См. также commonPrefix().
int QVersionNumber::majorVersion() const
Возвращает номер основной версии, то есть первый сегмент. Этот метод эквивалентен segmentAt(0). Если объект QVersionNumber равен null, эта функция возвращает 0.
См. также isNull() и segmentAt().
int QVersionNumber::microVersion() const
Возвращает номер микро-версии, то есть третий сегмент. Этот метод эквивалентен segmentAt(2). Если в объекте QVersionNumber нет номера микро-версии, эта функция возвращает 0.
См. также isNull() и segmentAt().
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
int QVersionNumber::segmentAt(int index) const
Возвращает значение сегмента по индексу index. Если индекс не существует, возвращает 0.
См. также segments() и segmentCount().
int QVersionNumber::segmentCount() const
Возвращает количество целых чисел, хранящихся в segments().
См. также segments().
QList<int> QVersionNumber::segments() const
Возвращает все числовые сегменты.
См. также majorVersion(), minorVersion() и microVersion().
QString QVersionNumber::toString() const
Возвращает строку со всеми сегментами, разделёнными точкой (.).
См. также majorVersion(), minorVersion(), microVersion() и segments().
Связанные нечлен-методы
bool operator!=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs не равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator<(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs меньше rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
QDataStream &operator<<(QDataStream &out, const QVersionNumber &version)
Записывает номер версии version в поток out.
Обратите внимание, что это не имеет ничего общего с QDataStream::version().
bool operator<=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs меньше или равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator==(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator>(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs больше rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
bool operator>=(const QVersionNumber &lhs, const QVersionNumber &rhs)
Возвращает true если lhs больше или равно rhs; в противном случае возвращает false.
См. также QVersionNumber::compare().
QDataStream &operator>>(QDataStream &in, QVersionNumber &version)
Читает номер версии из потока in и сохраняет его в version.
Обратите внимание, что это не имеет ничего общего с QDataStream::version().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qversionnumber.html