このページでは

QVersionNumber Class

QVersionNumber クラスは、任意の数のセグメントからなるバージョン番号を保持しています。詳細...

ヘッダー: #include <QVersionNumber>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

QVersionNumber の比較

カテゴリ比較可能な型
strongQVersionNumber

パブリック型

(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 セグメントに対する(逆方向の)ランダムアクセスイテレータを実装する、不透明クラス用のtypedefです。

注: QVersionNumber は セグメントのインプレース変更をサポートしていないため、可変イテレータは存在しません。

これらのtypedefは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 は セグメントのインプレース変更をサポートしていないため、referenceおよびconst_reference 、ならびにpointerおよびconst_pointer は、それぞれペアになって同一の型となります。

これらの typedef は Qt 6.8 で導入されました。

メンバ関数のドキュメント

[noexcept] QVersionNumber::QVersionNumber()

nullバージョンを生成します。

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

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

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)

メジャーバージョン番号のみからなる QVersionNumber を生成します。maj 。

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)

メジャー、マイナー、マイクロの各バージョン番号(それぞれmaj 、min 、mic )で構成される QVersionNumber を生成します。

[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 で導入されました。

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

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

v1 およびv2 の両方の親バージョンであるバージョン番号を返します。

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

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

v1 とv2 を比較し、v1 がv2 より小さいか、等しいか、大きいかによって、それぞれ 0 未満、0 または 0 より大きい整数を返します。

比較は、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)

ピリオド(. )で区切られた非負の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以前のバージョンでは 、この関数は代わりにQString 、QLatin1StringView 、QStringView に対してオーバーロードされており、suffixIndex はint* でした。

この関数は 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)

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() とは一切関係がないことに注意してください。

© 2026 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.