このページでは

QVector2D Class

QVector2D クラスは、2次元空間におけるベクトルまたは頂点を表します。詳細...

ヘッダー: #include <QVector2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック関数

QVector2D()
QVector2D(QPoint point)
QVector2D(QPointF point)
QVector2D(QVector3D vector)
QVector2D(QVector4D vector)
QVector2D(float xpos, float ypos)
float distanceToLine(QVector2D point, QVector2D direction) const
float distanceToPoint(QVector2D point) const
bool isNull() const
float length() const
float lengthSquared() const
void normalize()
QVector2D normalized() const
void setX(float x)
void setY(float y)
QPoint toPoint() const
QPointF toPointF() const
QVector3D toVector3D() const
QVector4D toVector4D() const
float x() const
float y() const
operator QVariant() const
QVector2D &operator*=(QVector2D vector)
QVector2D &operator*=(float factor)
QVector2D &operator+=(QVector2D vector)
QVector2D &operator-=(QVector2D vector)
QVector2D &operator/=(QVector2D vector)
QVector2D &operator/=(float divisor)
float &operator[](int i)
float operator[](int i) const

静的パブリックメンバー

float dotProduct(QVector2D v1, QVector2D v2)
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
(since 6.12) size_t qHash(QVector2D key, size_t seed = 0)
bool operator!=(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D vector, float factor)
QVector2D operator*(float factor, QVector2D vector)
QVector2D operator+(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D vector)
QVector2D operator/(QVector2D vector, QVector2D divisor)
QVector2D operator/(QVector2D vector, float divisor)
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
bool operator==(QVector2D v1, QVector2D v2)
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

詳細な説明

ベクトルは、2D 表現および描画の主要な構成要素の 1 つです。ベクトルは、従来 x および y と呼ばれる 2 つの有限の浮動小数点座標で構成されます。

QVector2D クラスは、2D 空間における頂点を表現するためにも使用できます。したがって、別途頂点クラスを用意する必要はありません。

QVector3D 、QVector4D 、およびQQuaternionも参照してください 。

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

[constexpr noexcept] QVector2D::QVector2D()

座標が (0, 0) である、すなわち零ベクトルを生成します。

[explicit constexpr noexcept] QVector2D::QVector2D(QPoint point)

2次元point から、x座標とy座標を持つベクトルを生成します。

[explicit constexpr noexcept] QVector2D::QVector2D(QPointF point)

2次元point から、x座標とy座標を持つベクトルを生成します。

[explicit constexpr noexcept] QVector2D::QVector2D(QVector3D vector)

3Dのvector から、x座標とy座標を持つベクトルを生成します。vector のz座標は破棄されます。

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

[explicit constexpr noexcept] QVector2D::QVector2D(QVector4D vector)

3次元vector から、x座標とy座標を持つベクトルを生成します。vector のz座標とw座標は破棄されます。

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

[constexpr noexcept] QVector2D::QVector2D(float xpos, float ypos)

座標 (xpos,ypos) を持つベクトルを生成します。両方の座標は有限でなければなりません。

[noexcept] float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const

この頂点と、point で定義された直線および単位ベクトルdirection との距離を返します。

direction が零ベクトルの場合、直線は定義されません。その場合は、point からこの頂点までの距離が返されます。

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

[noexcept] float QVector2D::distanceToPoint(QVector2D point) const

この頂点から、頂点point で定義される点までの距離を返します。

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

[static constexpr noexcept] float QVector2D::dotProduct(QVector2D v1, QVector2D v2)

v1 とv2 の内積を返します。

[constexpr noexcept] bool QVector2D::isNull() const

x座標とy座標が0.0に設定されている場合はtrue を返し、それ以外の場合はfalse を返します。

[noexcept] float QVector2D::length() const

原点からのベクトルの長さを返します。

lengthSquared() およびnormalized()も参照してください 。

[constexpr noexcept] float QVector2D::lengthSquared() const

原点からのベクトルの長さの二乗を返します。これは、そのベクトルとそれ自身の内積に相当します。

length() およびdotProduct()も参照してください 。

[noexcept] void QVector2D::normalize()

現在のベクトルをその場で正規化します。このベクトルが空ベクトルである場合、またはベクトルの長さが 1 に非常に近い場合は、何も起こりません。

length() およびnormalized()も参照してください 。

[noexcept] QVector2D QVector2D::normalized() const

このベクトルの正規化された単位ベクトル形式を返します。

このベクトルがnullの場合、nullベクトルが返されます。ベクトルの長さが1に非常に近い場合は、ベクトルがそのまま返されます。それ以外の場合は、長さ1の正規化されたベクトルが返されます。

length() およびnormalize()も参照してください 。

[constexpr noexcept] void QVector2D::setX(float x)

この点のx座標を、指定された有限のx 座標に設定します。

x() およびsetY()も参照してください 。

[constexpr noexcept] void QVector2D::setY(float y)

この点の y 座標を、指定された有限のy 座標に設定します。

y() およびsetX()も参照してください 。

[constexpr noexcept] QPoint QVector2D::toPoint() const

この2次元ベクトルのQPoint 形式を返します。各座標は、最も近い整数に丸められます。

toPointF() およびtoVector3D()も参照してください 。

[constexpr noexcept] QPointF QVector2D::toPointF() const

この2次元ベクトルのQPointF 形式を返します。

toPoint() およびtoVector3D()も参照してください 。

[constexpr noexcept] QVector3D QVector2D::toVector3D() const

この2次元ベクトルの3次元形式を返します。z座標は0に設定されます。

toVector4D() およびtoPoint()も参照してください 。

[constexpr noexcept] QVector4D QVector2D::toVector4D() const

この2次元ベクトルの4次元形式を返し、z座標とw座標は0に設定されます。

toVector3D() およびtoPoint()も参照してください 。

[constexpr noexcept] float QVector2D::x() const

この点の x 座標を返します。

setX() およびy()も参照してください 。

[constexpr noexcept] float QVector2D::y() const

この点の y 座標を返します。

setY() およびx()も参照してください 。

QVector2D::operator QVariant() const

2次元ベクトルをQVariant として返します。

[constexpr noexcept] QVector2D &QVector2D::operator*=(QVector2D vector)

このベクトルの各成分に、vector の対応する成分を掛け合わせ、このベクトルへの参照を返します。

注:これは 、このベクトルとvector との外積ではありません。(その各成分の和は、このベクトルとvector との内積に等しくなります。)

operator/=() およびoperator*()も参照してください 。

[constexpr noexcept] QVector2D &QVector2D::operator*=(float factor)

このベクトルの座標に、指定された有限のfactor を乗算し、このベクトルへの参照を返します。

operator/=() およびoperator*()も参照してください 。

[constexpr noexcept] QVector2D &QVector2D::operator+=(QVector2D vector)

指定されたvector をこのベクトルに追加し、このベクトルへの参照を返します。

operator-=()も参照してください 。

[constexpr noexcept] QVector2D &QVector2D::operator-=(QVector2D vector)

指定されたvector をこのベクトルから差し引き、このベクトルへの参照を返します。

operator+=()も参照してください 。

[constexpr] QVector2D &QVector2D::operator/=(QVector2D vector)

このベクトルの各成分を、vector の対応する成分で割り、このベクトルへの参照を返します。

vector には、ゼロまたは NaN の成分が含まれていてはなりません。

operator*=() およびoperator/()も参照してください 。

[constexpr] QVector2D &QVector2D::operator/=(float divisor)

このベクトルの座標を、指定されたdivisor で除算し、このベクトルへの参照を返します。divisor は、0でもNaNでもあってはなりません。

operator*=()も参照してください 。

[constexpr] float &QVector2D::operator[](int i)

ベクトルのインデックス位置i にある成分を、変更可能な参照として返します。

i i は、ベクトル内の有効なインデックス位置でなければなりません(つまり、0 <= < 2)。

[constexpr] float QVector2D::operator[](int i) const

ベクトルのインデックス位置i にある成分を返します。

i i は、ベクトル内の有効なインデックス位置でなければなりません(つまり、0 <= < 2)。

関連する非メンバー関数

[noexcept] bool qFuzzyCompare(QVector2D v1, QVector2D v2)

v1 とv2 が等しい場合、浮動小数点数の比較におけるわずかな許容誤差を考慮した上で、true を返します。それ以外の場合は false を返します。

[constexpr noexcept, since 6.12] size_t qHash(QVector2D key, size_t seed = 0)

`key` のハッシュ値を返します。計算のシードには `seed ` を使用します。

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

[constexpr noexcept] bool operator!=(QVector2D v1, QVector2D v2)

v1 がv2 と等しくない場合、true を返し、そうでない場合はfalse を返します。この演算子は、浮動小数点数の厳密比較を使用します。

[constexpr noexcept] QVector2D operator*(QVector2D v1, QVector2D v2)

v1 の各成分を、v2 の対応する成分で乗算して形成されたQVector2D オブジェクトを返します。

注:これは 、いかなる意味においてもv1 とv2 の外積ではありません。(その各成分の和は、v1 とv2 の内積に等しくなります。)

QVector2D::operator*=()も参照してください 。

[constexpr noexcept] QVector2D operator*(QVector2D vector, float factor)

指定されたvector のコピーを、指定された有限のfactor を乗じたものを返します。

QVector2D::operator*=()も参照してください 。

[constexpr noexcept] QVector2D operator*(float factor, QVector2D vector)

指定されたvector のコピーを、指定された有限のfactor を乗じたものを返します。

QVector2D::operator*=()も参照してください 。

[constexpr noexcept] QVector2D operator+(QVector2D v1, QVector2D v2)

指定されたベクトル `v1 ` および `v2` の和となる `QVector2D ` オブジェクトを返します。各成分は個別に加算されます。

QVector2D::operator+=()も参照してください 。

[constexpr noexcept] QVector2D operator-(QVector2D v1, QVector2D v2)

v2 をv1 から差し引いて形成された `QVector2D ` オブジェクトを返します。各成分は個別に差し引かれます。

QVector2D::operator-=()も参照してください 。

[constexpr noexcept] QVector2D operator-(QVector2D vector)

指定されたvector の各成分の符号を変更して形成されたQVector2D オブジェクトを返します。

QVector2D(0,0) - vector と同等です。

これはオーバーロードされた関数です。

[constexpr] QVector2D operator/(QVector2D vector, QVector2D divisor)

指定された `vector ` の各成分を、指定された `divisor` の対応する成分で割って形成された `QVector2D ` オブジェクトを返します。

divisor には、ゼロまたは NaN の成分が含まれていてはなりません。

QVector2D::operator/=()も参照してください 。

[constexpr] QVector2D operator/(QVector2D vector, float divisor)

指定されたvector の各成分を、指定されたdivisor で割って形成されたQVector2D オブジェクトを返します。

divisor は、0でもNaNでもあってはなりません。

QVector2D::operator/=()も参照してください 。

QDataStream &operator<<(QDataStream &stream, QVector2D vector)

指定されたvector を指定されたstream に書き込み、そのストリームへの参照を返します。

「Qt データ型のシリアライズ」も参照してください 。

[constexpr noexcept] bool operator==(QVector2D v1, QVector2D v2)

v1 がv2 と等しい場合は `true ` を返し、それ以外の場合は `false` を返します。この演算子は、厳密な浮動小数点比較を使用します。

QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

指定されたstream から2次元ベクトルを読み込み、指定されたvector に格納し、そのストリームへの参照を返します。

「Qtデータ型のシリアライズ」も参照してください 。

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