QLineF Class

QLineFクラスは、浮動小数点精度の2次元ベクトルを提供します。詳細...

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

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

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

パブリック型

enum IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection }

パブリック関数

QLineF()
QLineF(const QLine &line)
QLineF(const QPointF &p1, const QPointF &p2)
QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
QPointF p1() const
QPointF p2() const
qreal x1() const
qreal x2() const
qreal y1() const
qreal y2() const
qreal angle() const
qreal angleTo(const QLineF &line) const
QPointF center() const
qreal dx() const
qreal dy() const
QLineF::IntersectionType intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const
bool isNull() const
qreal length() const
QLineF normalVector() const
QPointF pointAt(qreal t) const
void setP1(const QPointF &p1)
void setP2(const QPointF &p2)
void setAngle(qreal angle)
void setLength(qreal length)
void setLine(qreal x1, qreal y1, qreal x2, qreal y2)
void setPoints(const QPointF &p1, const QPointF &p2)
QLine toLine() const
void translate(const QPointF &offset)
void translate(qreal dx, qreal dy)
QLineF translated(const QPointF &offset) const
QLineF translated(qreal dx, qreal dy) const
QLineF unitVector() const

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

QLineF fromPolar(qreal length, qreal angle)
(since 6.8) bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)
(since 6.8) bool qFuzzyIsNull(const QLineF &line)
bool operator!=(const QLineF &lhs, const QLineF &rhs)
QDataStream &operator<<(QDataStream &stream, const QLineF &line)
bool operator==(const QLineF &lhs, const QLineF &rhs)
QDataStream &operator>>(QDataStream &stream, QLineF &line)

詳細説明

QLineF は、2 次元サーフェス上の有限長の線(または線分)を記述します。QLineF は、座標に浮動小数点精度を使用して線の始点と終点を定義します。この線の整数ベースのコピーを取得するには、toLine() 関数を使用します。

線の始点と終点の位置は、p1()、x1()、y1()、p2()、x2()、y2() 関数を使用して取得できます。dx() とdy() 関数は、それぞれ線の水平成分と垂直成分を返す。

線の長さは、length() 関数で取得でき、setLength() 関数で変更できる。同様に、angle() とsetAngle() は、それぞれ線の角度の取得と変更に使用する。QLineF が有効な線かヌル線かを判定するには、isNull ()関数を使用する。

intersects() 関数は、この線と指定された線のIntersectionType を決定し、angleTo() 関数は線間の角度を返す。さらに、unitVector ()関数は、この直線と同じ始点を持つが長さが1しかない直線を返し、normalVector ()関数は、この直線と同じ始点と長さで直交する直線を返す。

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

制約

QLine は、 タイプの最小値と最大値に制限されます。この範囲外の値になる可能性のある を操作すると、未定義の動作になります。int QLine

QLineQPolygonFQRectFも参照のこと

メンバ型ドキュメント

enum QLineF::IntersectionType

2つの線の交点を表す。

QLineF::UnboundedIntersection (境界のない交差)QLineF::BoundedIntersection
定数説明
QLineF::NoIntersection0線が交差していない、つまり平行であることを示します。
QLineF::UnboundedIntersection22つの線は交差しますが、長さで定義された範囲内では交差しません。intersect() は、交点がどちらか一方の線の始点と終点の範囲内にある場合にもこの値を返します。
QLineF::BoundedIntersection12つの直線は、それぞれの直線の始点と終点で互いに交差します。

intersects()も参照

メンバ関数ドキュメント

[constexpr] QLineF::QLineF()

ヌル線を構築する。

[constexpr] QLineF::QLineF(const QLine &line)

与えられた整数ベースのline から QLineF オブジェクトを構築する。

toLine() およびQLine::toLineF()も参照のこと

[constexpr] QLineF::QLineF(const QPointF &p1, const QPointF &p2)

p1p2 の間の線を表す線オブジェクトを構築する。

[constexpr] QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)

(x1,y1) と (x2,y2) の間の線を表す線オブジェクトを構築する。

[constexpr] QPointF QLineF::p1() const

線の始点を返します。

setP1()、x1()、y1() およびp2()も参照

[constexpr] QPointF QLineF::p2() const

線の終点を返します。

setP2()、x2()、y2() およびp1()も参照

[constexpr] qreal QLineF::x1() const

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

p1()も参照

[constexpr] qreal QLineF::x2() const

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

p2()も参照

[constexpr] qreal QLineF::y1() const

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

p1()も参照

[constexpr] qreal QLineF::y2() const

線の終点の y 座標を返す。

p2()も参照

qreal QLineF::angle() const

G関数は、線の角度を度単位で返します。

戻り値は、0.0 から 360.0 までの値の範囲となるが、360.0 は含まれない。角度は、原点 (x > 0) より右側の x 軸上の点から反時計回りに測定される。

setAngle()も参照

qreal QLineF::angleTo(const QLineF &line) const

直線の方向を考慮に入れて、この直線から与えられたline までの角度(度)を返す。直線がその範囲内でintersect にならない場合は、延長された直線の交点が原点となる(QLineF::UnboundedIntersection を参照)。

返される値は、この直線が与えられたline と同じ角度を持つようにするために、反時計回りに何度足す必要があるかを表します。

intersects()も参照

[constexpr] QPointF QLineF::center() const

この線の中心点を返す。これは、0.5 *p1() + 0.5 *p2() と同じです。

[constexpr] qreal QLineF::dx() const

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

dy() およびpointAt()も参照

[constexpr] qreal QLineF::dy() const

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

dx() およびpointAt()も参照

[static] QLineF QLineF::fromPolar(qreal length, qreal angle)

与えられたlengthangle を持つQLineF を返します。

直線の最初の点は原点になる。

角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置です。

QLineF::IntersectionType QLineF::intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const

この線が与えられたline と交差するかどうかを示す値を返す。

実際の交点は、intersectionPoint (ポインタが有効な場合)に抽出される。線が平行である場合、交点は未定義である。

[constexpr] bool QLineF::isNull() const

線が明確な始点と終点を持たない場合はtrue を返し、そうでない場合はfalse を返す。始点と終点は、qFuzzyCompare() が少なくとも1つの座標で区別できる場合、区別できるとみなされる。

注意: あいまい比較を使用しているため、length() が 0 ではない線に対して isNull() がtrue を返すことがある。

qFuzzyCompare() およびlength()も参照

qreal QLineF::length() const

線の長さを返す。

setLength() およびisNull()も参照

[constexpr] QLineF QLineF::normalVector() const

この直線に垂直で、始点と長さが同じ直線を返します。

unitVector()も参照

[constexpr] QPointF QLineF::pointAt(qreal t) const

有限パラメータt で指定された位置にある点を返す。この関数は, t = 0 の場合は線の始点を, t = 1 の場合は線の終点を返す.

dx() およびdy()も参照のこと

void QLineF::setP1(const QPointF &p1)

この行の開始点をp1 に設定する。

setP2() およびp1()も参照のこと

void QLineF::setP2(const QPointF &p2)

この行の終点をp2 に設定する。

setP1() およびp2()も参照のこと

void QLineF::setAngle(qreal angle)

線の角度を、与えられたangle (度単位) に設定する。これは、線が与えられた角度を持つように、線の2番目の点の位置を変更します。

角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置である。

angle()も参照

void QLineF::setLength(qreal length)

length QLineF は、線の終点 - () - を移動して新しい長さを与える。ただし、 () がゼロであった場合は、スケーリングは行われない。p2 length

length() およびunitVector()も参照の こと。

void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)

この行を、開始をx1,y1 に、終了をx2,y2 に設定する。

setP1(),setP2(),p1(),p2()も参照のこと

void QLineF::setPoints(const QPointF &p1, const QPointF &p2)

この行の始点をp1 に、終点をp2 に設定する。

setP1()、setP2()、p1()、p2()も参照のこと

[constexpr] QLine QLineF::toLine() const

この線の整数ベースのコピーを返します。

返される行の始点と終点は、最も近い整数に丸められることに注意。

QLineF() およびQLine::toLineF()も参照

void QLineF::translate(const QPointF &offset)

この行を指定されたoffset で翻訳する。

void QLineF::translate(qreal dx, qreal dy)

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

この行をdxdy で指定された距離だけ変換する。

[constexpr] QLineF QLineF::translated(const QPointF &offset) const

この行を、与えられたoffset で翻訳したものを返す。

[constexpr] QLineF QLineF::translated(qreal dx, qreal dy) const

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

この線をdxdy で指定された距離に変換して返す。

QLineF QLineF::unitVector() const

この線の単位ベクトル、つまりこの線と同じ点から始まる長さ 1.0 の線を返します。

normalVector() およびsetLength()も参照

関連する非会員

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)

lhs が線rhs とほぼ等しい場合はtrue を返し、そうでない場合はfalse を返す。

行の始点と終点がほぼ等しい場合、その行はほぼ等しいとみなされます。

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

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QLineF &line)

line の始点と終点がほぼ等しい場合はtrue を返し、そうでない場合はfalse を返します。

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

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

lhs が線rhs と同じでない場合、true を返す。

ある線が別の線と異なるのは、それらの始点または終点が異なる場合、または点の内部順序が異なる場合である。

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

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

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

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

lhs が線rhs と同じならtrue を返す。

始点と終点が同じで、点の内部順序が同じであれば、線は別の線と同一である。

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

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

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.