QPoint Class

QPoint クラスは、平面上の点を整数精度で定義します。詳細...

Header: #include <QPoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

このクラスは等価比較可能です。

このクラスはQPointF等価比較可能です。

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

QPoint()
QPoint(int xpos, int ypos)
bool isNull() const
int manhattanLength() const
int &rx()
int &ry()
void setX(int x)
void setY(int y)
CGPoint toCGPoint() const
(since 6.4) QPointF toPointF() const
QPoint transposed() const
int x() const
int y() const
QPoint &operator*=(double factor)
QPoint &operator*=(float factor)
QPoint &operator*=(int factor)
QPoint &operator+=(const QPoint &point)
QPoint &operator-=(const QPoint &point)
QPoint &operator/=(qreal divisor)

静的パブリック・メンバー

int dotProduct(const QPoint &p1, const QPoint &p2)
bool operator!=(const QPoint &lhs, const QPoint &rhs)
QPoint operator*(const QPoint &point, double factor)
QPoint operator*(const QPoint &point, float factor)
QPoint operator*(const QPoint &point, int factor)
QPoint operator*(double factor, const QPoint &point)
QPoint operator*(float factor, const QPoint &point)
QPoint operator*(int factor, const QPoint &point)
QPoint operator+(const QPoint &point)
QPoint operator+(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &point)
QPoint operator/(const QPoint &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
bool operator==(const QPoint &lhs, const QPoint &rhs)
QDataStream &operator>>(QDataStream &stream, QPoint &point)

詳細説明

点は x 座標と y 座標で指定され、x() とy() 関数を使用してアクセスできます。x と y の両方が 0 に設定されている場合、isNull() 関数はtrue を返します。座標の設定 (または変更) には、setX() およびsetY() 関数を使用するか、rx() およびry() 関数を使用して座標への参照を返します (直接操作可能)。

p が与えられた場合、以下の記述はすべて等価です:

QPoint p;

p.setX(p.x() + 1);
p += QPoint(1, 0);
p.rx()++;

QPoint オブジェクトはベクトルとしても使用できます:足し算と引き算はベクトルと同様に定義されます(各成分は別々に加算されます)。QPoint オブジェクトは、int またはqreal によって分割または乗算することもできます。

さらに、QPointクラスはmanhattanLength ()関数を提供し、ベクトルとして解釈されるQPointオブジェクトの長さを安価に近似することができます。最後に、QPointオブジェクトは比較だけでなく、ストリームすることもできます。

QPointF およびQPolygonも参照のこと

メンバ関数ドキュメント

[constexpr noexcept] QPoint::QPoint()

ヌル点(座標 (0, 0))を構築する。

isNull()も参照

[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)

与えられた座標 (xpos,ypos) を持つ点を構築する。

setX() およびsetY()も参照

[static constexpr] int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)

QPoint p( 3, 7);
QPoint q(-1, 4);
int dotProduct = QPoint::dotProduct(p, q);   // dotProduct becomes 25

p1p2 のドット積を返します。

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

x 座標と y 座標の両方が 0 に設定されている場合はtrue を返し、そうでない場合はfalse を返します。

[constexpr] int QPoint::manhattanLength() const

x() とy() の絶対値の和を返す。これは伝統的に、原点から点までのベクトルの「マンハッタン長」として知られている。例えば

QPoint oldPosition;

MyWidget::mouseMoveEvent(QMouseEvent *event)
{
    QPoint point = event->pos() - oldPosition;
    if (point.manhattanLength() > 3)
        // the mouse has moved more than 3 pixels since the oldPosition
}

これは、真の長さの近似値として便利であり、すぐに計算できる:

double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));

マンハッタン長」の伝統は、このような距離が、マンハッタンの通りのような長方形のグリッド上でしか移動できない旅行者に適用されることから生まれた。

[constexpr noexcept] int &QPoint::rx()

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

参照を使用すると、x を直接操作できるようになります:

QPoint p(1, 2);
p.rx()--;   // p becomes (0, 2)

x() およびsetX()も参照

[constexpr noexcept] int &QPoint::ry()

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

参照を使用すると、y を直接操作できるようになる:

QPoint p(1, 2);
p.ry()++;   // p becomes (1, 3)

y() およびsetY() も参照

[constexpr noexcept] void QPoint::setX(int x)

この点の x 座標を、与えられたx 座標に設定します。

x() およびsetY() も参照

[constexpr noexcept] void QPoint::setY(int y)

この点の y 座標を、与えられたy 座標に設定します。

y() およびsetX() も参照

[noexcept] CGPoint QPoint::toCGPoint() const

QPoint から CGPoint を作成します。

QPointF::fromCGPoint()も参照

[constexpr noexcept, since 6.4] QPointF QPoint::toPointF() const

この点を浮動小数点精度の点として返します。

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

QPointF::toPoint()も参照して ください。

[constexpr noexcept] QPoint QPoint::transposed() const

x 座標と y 座標を交換した点を返します:

QPoint{1, 2}.transposed() // {2, 1}

x(),y(),setX(),setY()も参照

[constexpr noexcept] int QPoint::x() const

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

setX() およびrx()も参照

[constexpr noexcept] int QPoint::y() const

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

setY() およびry() も参照

[constexpr] QPoint &QPoint::operator*=(double factor)

この点の座標に指定されたfactor を乗算し、この点への参照を返します。例えば

QPoint p(-1, 4);
p *= 2.5;    // p becomes (-3, 10)

点は整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用します。

operator/=()も参照

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

この点の座標に与えられたfactor を掛け算し、この点への参照を返します。

点は整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用します。

operator/=()も参照

[constexpr] QPoint &QPoint::operator*=(int factor)

この点の座標に与えられたfactor を乗算し、この点への参照を返します。

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

[constexpr] QPoint &QPoint::operator+=(const QPoint &point)

与えられたpoint をこの点に加算し、この点への参照を返します。例えば

QPoint p( 3, 7);
QPoint q(-1, 4);
p += q;    // p becomes (2, 11)

operator-=()も参照

[constexpr] QPoint &QPoint::operator-=(const QPoint &point)

この点から指定されたpoint を引いて、この点への参照を返す。例えば

QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q;    // p becomes (4, 3)

operator+=() も参照

[constexpr] QPoint &QPoint::operator/=(qreal divisor)

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

x と y の両方を与えられたdivisor で割り、この点への参照を返します。例えば

QPoint p(-3, 10);
p /= 2.5;           // p becomes (-1, 4)

点は整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用してください。

operator*=()も参照

関連する非会員

[constexpr noexcept] bool operator!=(const QPoint &lhs, const QPoint &rhs)

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

[constexpr] QPoint operator*(const QPoint &point, double factor)

指定されたpoint に指定されたfactor を掛けたコピーを返します。

ポイントは整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用します。

QPoint::operator*=()も参照

[constexpr] QPoint operator*(const QPoint &point, float factor)

与えられたpoint に与えられたfactor を掛けたコピーを返します。

点は整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用します。

QPoint::operator*=()も参照

[constexpr noexcept] QPoint operator*(const QPoint &point, int factor)

指定したpoint に指定したfactor を乗算したものを返します。

QPoint::operator*=()も参照のこと

[constexpr] QPoint operator*(double factor, const QPoint &point)

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

与えられたpoint に与えられたfactor を掛けたコピーを返す。

ポイントは整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用してください。

QPoint::operator*=()も参照

[constexpr] QPoint operator*(float factor, const QPoint &point)

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

与えられたpoint に与えられたfactor を掛けたコピーを返す。

ポイントは整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用してください。

QPoint::operator*=()も参照

[constexpr noexcept] QPoint operator*(int factor, const QPoint &point)

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

指定されたpoint に指定されたfactor を乗算したコピーを返します。

QPoint::operator*=()も参照

[constexpr noexcept] QPoint operator+(const QPoint &point)

point を変更せずに返します。

[constexpr noexcept] QPoint operator+(const QPoint &p1, const QPoint &p2)

与えられた点、p1p2 の合計であるQPoint オブジェクトを返します。

QPoint::operator+=()も参照

[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)

p1 からp2 を減算したQPoint オブジェクトを返す。

QPoint::operator-=()も参照の こと。

[constexpr noexcept] QPoint operator-(const QPoint &point)

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

与えられたpoint の両成分の符号を変更したQPoint オブジェクトを返す。

QPoint(0,0) - point と同等。

[constexpr] QPoint operator/(const QPoint &point, qreal divisor)

与えられたpoint の両成分を与えられたdivisor で割ったQPoint を返します。

ポイントは整数として保持されるので、結果は最も近い整数に丸められることに注意してください。浮動小数点精度の場合はQPointF を使用します。

QPoint::operator/=()も参照

QDataStream &operator<<(QDataStream &stream, const QPoint &point)

与えられたpoint を与えられたstream に書き込み、ストリームへの参照を返します。

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

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

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

QDataStream &operator>>(QDataStream &stream, QPoint &point)

与えられたstream から与えられたpoint に点を読み込み、ストリームへの参照を返します。

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。