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)

Move -seg に含まれる番号のリストからバージョン番号を構成する。

[explicit, since 6.8] QVersionNumber::QVersionNumber(QSpan<const int> args)

args で指定されたスパンからバージョン番号を構築します。

注意: Qt 6.8 より前のバージョンでは、QVersionNumber はQList, QVarLenthArray または std::initializer_list からしか構築できませんでした。

この関数は Qt 6.8 で導入されました。

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

seg に含まれる番号のリストからバージョン番号を構築する。

[explicit] QVersionNumber::QVersionNumber(int maj)

メジャーバージョン番号maj だけで構成される QVersionNumber を構築します。

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

args で指定された std::initializer_list からバージョン番号を構築する。

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

メジャーバージョン番号maj とマイナーバージョン番号min からなる QVersionNumber を構築する。

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

メジャーバージョン番号、マイナーバージョン番号、マイクロバージョン番号majminmic からなる QVersionNumber をそれぞれ構築する。

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

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

v1v2 の両方の親バージョンであるバージョン番号を返します。

isPrefixOf()も参照してください

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

v1v2 を比較し、v1v2 より小さいか、等しいか、大きいかによって、それぞれゼロより小さいか、等しいか、大きい整数を返す。

比較は、v1v2 のセグメントをインデックス 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)

ピリオド(.)で区切られた非負の10進数で特別にフォーマットされたstring からQVersionNumber を構築する。

数値セグメントが解析されると、残りの文字列は接尾辞文字列とみなされる。その文字列の開始インデックスは、NULLでなければ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 の代わりにオーバーロードされ、suffixIndexint* でした。

この関数はQt 6.4で導入されました。

isNull()も参照してください

[noexcept] bool QVersionNumber::isNormalized() const

バージョン番号に末尾のゼロが含まれていない場合はtrue を返し、そうでない場合はfalse を返す。

normalized()も参照

[noexcept] bool QVersionNumber::isNull() const

数値セグメントが 0 の場合は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 オブジェクトが NULL の場合、この関数は 0 を返す。

isNull() およびsegmentAt()も参照

[noexcept] int QVersionNumber::microVersion() const

マイクロバージョン番号、つまり3番目のセグメントを返す。この関数はsegmentAt(2)と同等である。このQVersionNumber オブジェクトにマイクロ番号が含まれていない場合、この関数は 0 を返す。

isNull() およびsegmentAt()も参照のこと

[noexcept] int QVersionNumber::minorVersion() const

マイナーバージョン番号、つまり2番目のセグメントを返す。この関数はsegmentAt(1)と等価である。このQVersionNumber オブジェクトにマイナー番号が含まれていない場合、この関数は 0 を返す。

isNull() およびsegmentAt()も参照のこと

QVersionNumber QVersionNumber::normalized() const

末尾のゼロをすべて取り除いた、同等のバージョン番号を返す。

2つの数値が等価かどうかを調べるには、比較を行う前に両方のバージョン番号に対して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)

lhsrhs と等しくない場合はtrue を返し、そうでない場合はfalse を返す。

QVersionNumber::compare()も参照のこと

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

lhsrhs より小さい場合はtrue を返し、そうでない場合はfalse を返す。

QVersionNumber::compare()も参照のこと

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

バージョン番号version をストリームout に書き込む。

これはQDataStream::version() とは無関係であることに注意。

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

lhsrhs 以下の場合はtrue を返し、それ以外の場合はfalse を返す。

QVersionNumber::compare()も参照のこと

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

lhsrhs と等しい場合はtrue を返し、そうでない場合はfalse を返す。

QVersionNumber::compare()も参照のこと

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

lhsrhs より大きい場合はtrue を返し、そうでない場合はfalse を返す。

QVersionNumber::compare()も参照のこと

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

lhsrhs 以上の場合は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.