QLine Class
The QLine class provides a two-dimensional vector using integer precision. More...
Header: | #include <QLine> |
CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Public Functions
QLine(int x1, int y1, int x2, int y2) | |
QLine(const QPoint &p1, const QPoint &p2) | |
QLine() | |
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) |
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 &line) const |
bool | operator==(const QLine &line) const |
Related Non-Members
QDataStream & | operator<<(QDataStream &stream, const QLine &line) |
QDataStream & | operator>>(QDataStream &stream, QLine &line) |
Detailed Description
A QLine describes a finite length line (or a line segment) on a two-dimensional surface. The start and end points of the line are specified using integer point accuracy for coordinates. Use the QLineF constructor to retrieve a floating point copy.
![]() | ![]() |
The positions of the line's start and end points can be retrieved using the p1(), x1(), y1(), p2(), x2(), and y2() functions. The dx() and dy() functions return the horizontal and vertical components of the line. Use isNull() to determine whether the QLine represents a valid line or a null line.
Finally, the line can be translated a given offset using the translate() function.
See also QLineF, QPolygon, and QRect.
Member Function Documentation
QLine::QLine(int x1, int y1, int x2, int y2)
Constructs a line object that represents the line between (x1, y1) and (x2, y2).
QLine::QLine(const QPoint &p1, const QPoint &p2)
Constructs a line object that represents the line between p1 and p2.
QLine::QLine()
Constructs a null line.
QPoint QLine::p1() const
Returns the line's start point.
See also setP1(), x1(), y1(), and p2().
QPoint QLine::p2() const
Returns the line's end point.
See also setP2(), x2(), y2(), and p1().
int QLine::x1() const
Returns the x-coordinate of the line's start point.
See also p1().
int QLine::x2() const
Returns the x-coordinate of the line's end point.
See also p2().
int QLine::y1() const
Returns the y-coordinate of the line's start point.
See also p1().
int QLine::y2() const
Returns the y-coordinate of the line's end point.
See also p2().
[since 5.8]
QPoint QLine::center() const
Returns the center point of this line. This is equivalent to (p1() + p2()) / 2, except it will never overflow.
This function was introduced in Qt 5.8.
int QLine::dx() const
Returns the horizontal component of the line's vector.
See also dy().
int QLine::dy() const
Returns the vertical component of the line's vector.
See also dx().
bool QLine::isNull() const
Returns true
if the line does not have distinct start and end points; otherwise returns false
.
void QLine::setP1(const QPoint &p1)
Sets the starting point of this line to p1.
void QLine::setP2(const QPoint &p2)
Sets the end point of this line to p2.
void QLine::setLine(int x1, int y1, int x2, int y2)
Sets this line to the start in x1, y1 and end in x2, y2.
See also setP1(), setP2(), p1(), and p2().
void QLine::setPoints(const QPoint &p1, const QPoint &p2)
Sets the start point of this line to p1 and the end point of this line to p2.
See also setP1(), setP2(), p1(), and p2().
void QLine::translate(const QPoint &offset)
Translates this line by the given offset.
void QLine::translate(int dx, int dy)
This is an overloaded function.
Translates this line the distance specified by dx and dy.
QLine QLine::translated(const QPoint &offset) const
Returns this line translated by the given offset.
QLine QLine::translated(int dx, int dy) const
This is an overloaded function.
Returns this line translated the distance specified by dx and dy.
bool QLine::operator!=(const QLine &line) const
Returns true
if the given line is not the same as this line.
A line is different from another line if any of their start or end points differ, or the internal order of the points is different.
bool QLine::operator==(const QLine &line) const
Returns true
if the given line is the same as this line.
A line is identical to another line if the start and end points are identical, and the internal order of the points is the same.
Related Non-Members
QDataStream &operator<<(QDataStream &stream, const QLine &line)
Writes the given line to the given stream and returns a reference to the stream.
See also Serializing Qt Data Types.
QDataStream &operator>>(QDataStream &stream, QLine &line)
Reads a line from the given stream into the given line and returns a reference to the stream.
See also Serializing Qt Data Types.