このページでは

QLine Class

QLine クラスは、整数精度の 2 次元ベクトルを提供します。詳細...

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

QLineの比較

カテゴリ比較可能な型
等価性QLine
等価性QLineF.

パブリック関数

QLine()
QLine(const QPoint &p1, const QPoint &p2)
QLine(int x1, int y1, int x2, int y2)
QPoint p1() const
QPoint p2() const
int x1() const
int x2() const
int y1() const
int y2() const
QPoint center() const
int dx() const
int dy() const
bool isNull() const
void setP1(const QPoint &p1)
void setP2(const QPoint &p2)
void setLine(int x1, int y1, int x2, int y2)
void setPoints(const QPoint &p1, const QPoint &p2)
(since 6.4) QLineF toLineF() const
void translate(const QPoint &offset)
void translate(int dx, int dy)
QLine translated(const QPoint &offset) const
QLine translated(int dx, int dy) const
bool operator!=(const QLine &lhs, const QLine &rhs)
QDataStream &operator<<(QDataStream &stream, const QLine &line)
bool operator==(const QLine &lhs, const QLine &rhs)
QDataStream &operator>>(QDataStream &stream, QLine &line)

詳細な説明

QLine は、2 次元平面上の有限長の直線(または線分)を表します。直線の始点と終点は、座標に対して整数点の精度で指定されます。浮動小数点型のコピーを取得するには、QLineF コンストラクタを使用してください。

p1、p2、dx、dyのラベルが付いた直線x1、y1、x2、y2、dx、dy のラベルが付いた直線

線の始点および終点の位置は、p1()、x1()、y1()、p2()、x2()、およびy2() 関数を使用して取得できます。dx() およびdy() 関数は、線の水平成分と垂直成分を返します。isNull() を使用して、QLine が有効な線であるか、あるいはヌル線であるかを判定します。

最後に、translate() 関数を使用することで、線を指定されたオフセット分だけ平行移動させることができます。

QLineF 、QPolygon 、およびQRectも参照してください 。

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

[constexpr] QLine::QLine()

ヌルラインを作成します。

[constexpr] QLine::QLine(const QPoint &p1, const QPoint &p2)

p1 とp2 を結ぶ直線を表す直線オブジェクトを作成します。

[constexpr] QLine::QLine(int x1, int y1, int x2, int y2)

(x1,y1) と (x2,y2) を結ぶ直線を表す直線オブジェクトを作成します。

[constexpr] QPoint QLine::p1() const

その行の開始点を返します。

setP1()、x1()、y1()、およびp2()も参照してください 。

[constexpr] QPoint QLine::p2() const

その行の終点を返します。

setP2()、x2()、y2()、およびp1()も参照してください 。

[constexpr] int QLine::x1() const

線の始点の x 座標を返します。

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

[constexpr] int QLine::x2() const

線の終点のx座標を返します。

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

[constexpr] int QLine::y1() const

線の始点の y 座標を返します。

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

[constexpr] int QLine::y2() const

線の端点のy座標を返します。

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

[constexpr] QPoint QLine::center() const

この線の中心点を返します。これは (p1()) +p2()) / 2 と同等ですが、オーバーフローが発生することはありません。

[constexpr] int QLine::dx() const

線のベクトルの水平成分を返します。

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

[constexpr] int QLine::dy() const

線のベクトルの垂直成分を返します。

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

[constexpr] bool QLine::isNull() const

行に明確な開始点と終了点がない場合はtrue を返し、それ以外の場合はfalse を返します。

void QLine::setP1(const QPoint &p1)

この線の始点を `p1` に設定します。

setP2() およびp1()も参照してください 。

void QLine::setP2(const QPoint &p2)

この線の終点をp2 に設定します。

setP1() およびp2()も参照してください 。

void QLine::setLine(int x1, int y1, int x2, int y2)

x1 、y1 ではこの行を先頭に、x2 、y2 では末尾に設定します。

setP1()、setP2()、p1()、およびp2()も参照してください 。

void QLine::setPoints(const QPoint &p1, const QPoint &p2)

この行の開始点をp1 に、終了点をp2 に設定します。

setP1()、setP2()、p1()、およびp2()も参照してください 。

[constexpr noexcept, since 6.4] QLineF QLine::toLineF() const

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

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

QLineF::toLine()も参照してください 。

[constexpr] void QLine::translate(const QPoint &offset)

指定されたoffset を用いて、この行を翻訳します。

[constexpr] void QLine::translate(int dx, int dy)

この行を、dx およびdy で指定された距離だけ平行移動します。

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

[constexpr] QLine QLine::translated(const QPoint &offset) const

指定されたoffset によって翻訳されたこの行を返します。

[constexpr] QLine QLine::translated(int dx, int dy) const

dx およびdy で指定された距離だけ、この行を翻訳して返します。

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

関連する非メンバー関数

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

行 `lhs ` が行 `rhs` と一致しない場合、true を返します。

2つの直線は、始点または終点のいずれかが異なる場合、あるいは点の内部順序が異なる場合に、互いに異なるものとみなされます。

QDataStream &operator<<(QDataStream &stream, const QLine &line)

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

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

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

行 `lhs ` が行 `rhs` と同一である場合、true を返します。

2つの線が同一であるとは、始点と終点が同一であり、かつ点の内側の順序が同じであることをいう。

QDataStream &operator>>(QDataStream &stream, QLine &line)

指定されたstream から指定されたline へ1行を読み込み、そのストリームへの参照を返します。

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