QPoint Class
QPoint クラスは、平面上の点を整数精度で定義します。詳細...
ヘッダー | #include <QPoint> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバ一覧
- QPointはペイントクラスの一部です。
このクラスは等価比較可能です。
このクラスは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 オブジェクトはベクトルとしても使用できます:足し算と引き算はベクトルと同様に定義されます(各成分は別々に加算されます)。QPoint オブジェクトは、int
またはqreal
によって分割または乗算することもできます。
さらに、QPointクラスはmanhattanLength ()関数を提供し、ベクトルとして解釈されるQPointオブジェクトの長さの安価な近似値を与えます。最後に、QPointオブジェクトは比較だけでなく、ストリームすることもできます。
メンバ関数のドキュメント
[constexpr noexcept]
QPoint::QPoint()
ヌル点(座標 (0, 0))を構築する。
isNull()も参照してください 。
[constexpr noexcept]
QPoint::QPoint(int xpos, int ypos)
与えられた座標 (xpos,ypos) を持つ点を構築する。
[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
p1 とp2 のドット積を返す。
[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)
[constexpr noexcept]
int &QPoint::ry()
この点の y 座標への参照を返します。
参照を使用すると、y を直接操作できるようになる:
QPoint p(1, 2); p.ry()++; // p becomes (1, 3)
[constexpr noexcept]
void QPoint::setX(int x)
この点の x 座標を、与えられたx 座標に設定します。
[constexpr noexcept]
void QPoint::setY(int y)
この点の y 座標を、与えられたy 座標に設定します。
[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}
[constexpr noexcept]
int QPoint::x() const
この点の x 座標を返します。
[constexpr noexcept]
int QPoint::y() const
この点の y 座標を返します。
[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 をこの点に追加し、この点への参照を返す。例えば
operator-=()も参照 。
[constexpr]
QPoint &QPoint::operator-=(const QPoint &point)
この点から与えられたpoint を引き、この点への参照を返す。例えば
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)
lhs とrhs が等しくない場合は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)
与えられた点、p1 とp2 の合計である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)
与えられたstream に与えられたpoint を書き込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
[constexpr noexcept]
bool operator==(const QPoint &lhs, const QPoint &rhs)
lhs とrhs が等しければtrue
を返し、そうでなければfalse
を返す。
QDataStream &operator>>(QDataStream &stream, QPoint &point)
与えられたstream から与えられたpoint に点を読み込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
© 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.