# QPointF Class

The QPointF class defines a point in the plane using floating point precision. More...

Header: | #include <QPointF> |

## Public Functions

QPointF() | |

QPointF(const QPoint & point) | |

QPointF(qreal x, qreal y) | |

bool | isNull() const |

qreal | manhattanLength() const |

qreal & | rx() |

qreal & | ry() |

void | setX(qreal x) |

void | setY(qreal y) |

QPoint | toPoint() const |

qreal | x() const |

qreal | y() const |

QPointF & | operator*=(qreal factor) |

QPointF & | operator+=(const QPointF & point) |

QPointF & | operator-=(const QPointF & point) |

QPointF & | operator/=(qreal divisor) |

## Related Non-Members

bool | operator!=(const QPointF & p1, const QPointF & p2) |

const QPointF | operator*(qreal factor, const QPointF & point) |

const QPointF | operator*(const QPointF & point, qreal factor) |

const QPointF | operator+(const QPointF & p1, const QPointF & p2) |

const QPointF | operator-(const QPointF & p1, const QPointF & p2) |

const QPointF | operator-(const QPointF & point) |

const QPointF | operator/(const QPointF & point, qreal divisor) |

QDataStream & | operator<<(QDataStream & stream, const QPointF & point) |

bool | operator==(const QPointF & p1, const QPointF & p2) |

QDataStream & | operator>>(QDataStream & stream, QPointF & point) |

## Detailed Description

The QPointF class defines a point in the plane using floating point precision.

A point is specified by a x coordinate and an y coordinate which can be accessed using the x() and y() functions. The coordinates of the point are specified using floating point numbers for accuracy. The isNull() function returns true if both x and y are set to 0.0. The coordinates can be set (or altered) using the setX() and setY() functions, or alternatively the rx() and ry() functions which return references to the coordinates (allowing direct manipulation).

Given a point *p*, the following statements are all equivalent:

QPointF p; p.setX(p.x() + 1.0); p += QPointF(1.0, 0.0); p.rx()++;

A QPointF object can also be used as a vector: Addition and subtraction are defined as for vectors (each component is added separately). A QPointF object can also be divided or multiplied by an `int`

or a `qreal`

.

In addition, the QPointF class provides a constructor converting a QPoint object into a QPointF object, and a corresponding toPoint() function which returns a QPoint copy of *this* point. Finally, QPointF objects can be streamed as well as compared.

**See also **QPoint and QPolygonF.

## Member Function Documentation

### QPointF::QPointF()

Constructs a null point, i.e. with coordinates (0.0, 0.0)

**See also **isNull().

### QPointF::QPointF(const QPoint &* point*)

Constructs a copy of the given *point*.

**See also **toPoint().

### QPointF::QPointF(qreal* x*, qreal* y*)

Constructs a point with the given coordinates (*x*, *y*).

### bool QPointF::isNull() const

Returns true if both the x and y coordinates are set to +0.0; otherwise returns false.

**Note: **Since this function treats +0.0 and -0.0 differently, points with zero-valued coordinates where either or both values have a negative sign are not defined to be null points.

### qreal QPointF::manhattanLength() const

Returns the sum of the absolute values of x() and y(), traditionally known as the "Manhattan length" of the vector from the origin to the point.

This function was introduced in Qt 4.6.

**See also **QPoint::manhattanLength().

### qreal & QPointF::rx()

Returns a reference to the x coordinate of this point.

Using a reference makes it possible to directly manipulate x. For example:

QPointF p(1.1, 2.5); p.rx()--; // p becomes (0.1, 2.5)

### qreal & QPointF::ry()

Returns a reference to the y coordinate of this point.

Using a reference makes it possible to directly manipulate y. For example:

QPointF p(1.1, 2.5); p.ry()++; // p becomes (1.1, 3.5)

### void QPointF::setX(qreal* x*)

Sets the x coordinate of this point to the given *x* coordinate.

### void QPointF::setY(qreal* y*)

Sets the y coordinate of this point to the given *y* coordinate.

### QPoint QPointF::toPoint() const

Rounds the coordinates of this point to the nearest integer, and returns a QPoint object with the rounded coordinates.

**See also **QPointF().

### qreal QPointF::x() const

Returns the x-coordinate of this point.

### qreal QPointF::y() const

Returns the y-coordinate of this point.

### QPointF & QPointF::operator*=(qreal* factor*)

Multiplies this point's coordinates by the given *factor*, and returns a reference to this point. For example:

QPointF p(-1.1, 4.1); p *= 2.5; // p becomes (-2.75, 10.25)

**See also **operator/=().

### QPointF & QPointF::operator+=(const QPointF &* point*)

Adds the given *point* to this point and returns a reference to this point. For example:

QPointF p( 3.1, 7.1); QPointF q(-1.0, 4.1); p += q; // p becomes (2.1, 11.2)

**See also **operator-=().

### QPointF & QPointF::operator-=(const QPointF &* point*)

Subtracts the given *point* from this point and returns a reference to this point. For example:

QPointF p( 3.1, 7.1); QPointF q(-1.0, 4.1); p -= q; // p becomes (4.1, 3.0)

**See also **operator+=().

### QPointF & QPointF::operator/=(qreal* divisor*)

Divides both x and y by the given *divisor*, and returns a reference to this point. For example:

QPointF p(-2.75, 10.25); p /= 2.5; // p becomes (-1.1, 4.1)

**See also **operator*=().

## Related Non-Members

### bool operator!=(const QPointF &* p1*, const QPointF &* p2*)

Returns true if *p1* is not equal to *p2*; otherwise returns false.

### const QPointF operator*(qreal* factor*, const QPointF &* point*)

This is an overloaded function.

Returns a copy of the given *point*, multiplied by the given *factor*.

### const QPointF operator*(const QPointF &* point*, qreal* factor*)

Returns a copy of the given *point*, multiplied by the given *factor*.

**See also **QPointF::operator*=().

### const QPointF operator+(const QPointF &* p1*, const QPointF &* p2*)

Returns a QPointF object that is the sum of the given points, *p1* and *p2*; each component is added separately.

**See also **QPointF::operator+=().

### const QPointF operator-(const QPointF &* p1*, const QPointF &* p2*)

Returns a QPointF object that is formed by subtracting *p2* from *p1*; each component is subtracted separately.

**See also **QPointF::operator-=().

### const QPointF operator-(const QPointF &* point*)

This is an overloaded function.

Returns a QPointF object that is formed by changing the sign of both components of the given *point*.

Equivalent to `QPointF(0,0) - point`

.

### const QPointF operator/(const QPointF &* point*, qreal* divisor*)

Returns the QPointF object formed by dividing both components of the given *point* by the given *divisor*.

**See also **QPointF::operator/=().

### QDataStream & operator<<(QDataStream &* stream*, const QPointF &* point*)

Writes the given *point* to the given *stream* and returns a reference to the stream.

**See also **Serializing Qt Data Types.

### bool operator==(const QPointF &* p1*, const QPointF &* p2*)

Returns true if *p1* is equal to *p2*; otherwise returns false.

### QDataStream & operator>>(QDataStream &* stream*, QPointF &* point*)

Reads a point from the given *stream* into the given *point* and returns a reference to the stream.

**See also **Serializing Qt Data Types.

© 2016 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.