IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QVersionNumber Class

The QVersionNumber class contains a version number with an arbitrary number of segments.

This class was introduced in Qt 5.6.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QVersionNumber Class

  • Header: QVersionNumber

  • Since: Qt 5.6

  • qmake: QT += core

Detailed Description

 
Sélectionnez
QVersionNumber version(1, 2, 3);  // 1.2.3

Member Function Documentation

 

QVersionNumber::QVersionNumber()

Produces a null version.

See Also

See also isNull()

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

Constructs a version number from the list of numbers contained in seg.

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

Move-constructs a version number from the list of numbers contained in seg.

This constructor is only enabled if the compiler supports C++11 move semantics.

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

Construct a version number from the std::initializer_list specified by args.

This constructor is only enabled if the compiler supports C++11 initializer lists.

[explicit] QVersionNumber::QVersionNumber(int maj)

Constructs a QVersionNumber consisting of just the major version number maj.

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

Constructs a QVersionNumber consisting of the major and minor version numbers maj and min, respectively.

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

Constructs a QVersionNumber consisting of the major, minor, and micro version numbers maj, min and mic, respectively.

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

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

Returns a version number that is a parent version of both v1 and v2.

See Also

See also isPrefixOf()

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

Compares v1 with v2 and returns an integer less than, equal to, or greater than zero, depending on whether v1 is less than, equal to, or greater than v2, respectively.

Comparisons are performed by comparing the segments of v1 and v2 starting at index 0 and working towards the end of the longer list.

 
Sélectionnez
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)

Constructs a QVersionNumber from a specially formatted string of non-negative decimal numbers delimited by a period (.).

Once the numerical segments have been parsed, the remainder of the string is considered to be the suffix string. The start index of that string will be stored in suffixIndex if it is not null.

 
Sélectionnez
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &amp;suffixIndex);
// version is 5.4.0
// suffixIndex is 5
See Also

See also isNull()

[static, since 5.10] QVersionNumber QVersionNumber::fromString(QLatin1String string, int *suffixIndex = nullptr)

This is an overloaded function.

Constructs a QVersionNumber from a specially formatted string of non-negative decimal numbers delimited by '.'.

Once the numerical segments have been parsed, the remainder of the string is considered to be the suffix string. The start index of that string will be stored in suffixIndex if it is not null.

 
Sélectionnez
QLatin1String string("5.4.0-alpha");
int suffixIndex;
auto version = QVersionNumber::fromString(string, &amp;suffixIndex);
// version is 5.4.0
// suffixIndex is 5

This function was introduced in Qt 5.10.

See Also

See also isNull()

[static, since 5.10] QVersionNumber QVersionNumber::fromString(QStringView string, int *suffixIndex = nullptr)

This is an overloaded function.

Constructs a QVersionNumber from a specially formatted string of non-negative decimal numbers delimited by '.'.

Once the numerical segments have been parsed, the remainder of the string is considered to be the suffix string. The start index of that string will be stored in suffixIndex if it is not null.

 
Sélectionnez
QString string("5.4.0-alpha");
int suffixIndex;
QVersionNumber version = QVersionNumber::fromString(string, &amp;suffixIndex);
// version is 5.4.0
// suffixIndex is 5

This function was introduced in Qt 5.10.

See Also

See also isNull()

bool QVersionNumber::isNormalized() const

Returns true if the version number does not contain any trailing zeros, otherwise returns false.

See Also

See also normalized()

bool QVersionNumber::isNull() const

Returns true if there are zero numerical segments, otherwise returns false.

See Also

See also segments()

bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const

Returns true if the current version number is contained in the other version number, otherwise returns false.

 
Sélectionnez
QVersionNumber v1(5, 3);
QVersionNumber v2(5, 3, 1);
bool value = v1.isPrefixOf(v2); // true
See Also

See also commonPrefix()

int QVersionNumber::majorVersion() const

Returns the major version number, that is, the first segment. This function is equivalent to segmentAt(0). If this QVersionNumber object is null, this function returns 0.

See Also

See also isNull(), segmentAt()

int QVersionNumber::microVersion() const

Returns the micro version number, that is, the third segment. This function is equivalent to segmentAt(2). If this QVersionNumber object does not contain a micro number, this function returns 0.

See Also

See also isNull(), segmentAt()

int QVersionNumber::minorVersion() const

Returns the minor version number, that is, the second segment. This function is equivalent to segmentAt(1). If this QVersionNumber object does not contain a minor number, this function returns 0.

See Also

See also isNull(), segmentAt()

QVersionNumber QVersionNumber::normalized() const

Returns an equivalent version number but with all trailing zeros removed.

To check if two numbers are equivalent, use normalized() on both version numbers before performing the compare.

 
Sélectionnez
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

Returns the segement value at index. If the index does not exist, returns 0.

See Also

See also segments(), segmentCount()

int QVersionNumber::segmentCount() const

Returns the number of integers stored in segments().

See Also

See also segments()

QVector<int> QVersionNumber::segments() const

Returns all of the numerical segments.

See Also

QString QVersionNumber::toString() const

Returns a string with all of the segments delimited by a period (.).

See Also

Related Non-Members

 

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

Returns true if lhs is not equal to rhs; otherwise returns false.

See Also

bool operator<(const QVersionNumber &lhs, const QVersionNumber &rhs)

Returns true if lhs is less than rhs; otherwise returns false.

See Also

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

Writes the version number version to stream out.

Note that this has nothing to do with QDataStream::version().

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

Returns true if lhs is less than or equal to rhs; otherwise returns false.

See Also

bool operator==(const QVersionNumber &lhs, const QVersionNumber &rhs)

Returns true if lhs is equal to rhs; otherwise returns false.

See Also

bool operator>(const QVersionNumber &lhs, const QVersionNumber &rhs)

Returns true if lhs is greater than rhs; otherwise returns false.

See Also

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

Returns true if lhs is greater than or equal to rhs; otherwise returns false.

See Also

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

Reads a version number from stream in and stores it in version.

Note that this has nothing to do with QDataStream::version().

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+