QPointF Class

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

头文件: #include <QPointF>
qmake: QT += core

Note: All functions in this class are reentrant.

公有函数

QPointF()
QPointF(const QPoint &point)
QPointF(qreal xpos, qreal ypos)
bool isNull() const
qreal manhattanLength() const
qreal &rx()
qreal &ry()
void setX(qreal x)
void setY(qreal y)
CGPoint toCGPoint() const
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)

静态公有成员

qreal dotProduct(const QPointF &p1, const QPointF &p2)
QPointF fromCGPoint(CGPoint point)
bool operator!=(const QPointF &p1, const QPointF &p2)
const QPointF operator*(const QPointF &point, qreal factor)
const QPointF operator*(qreal factor, const QPointF &point)
const QPointF operator+(const QPointF &p1, const QPointF &p2)
const QPointF operator+(const QPointF &point)
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)

详细描述

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.

参见 QPoint and QPolygonF.

成员函数

QPointF::QPointF()

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

参见 isNull().

QPointF::QPointF(const QPoint &point)

Constructs a copy of the given point.

参见 toPoint().

QPointF::QPointF(qreal xpos, qreal ypos)

Constructs a point with the given coordinates (xpos, ypos).

参见 setX() and setY().

[static] qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)


  QPointF p( 3.1, 7.1);
  QPointF q(-1.0, 4.1);
  int lengthSquared = QPointF::dotProduct(p, q);   // lengthSquared becomes 26.01

Returns the dot product of p1 and p2.

This function was introduced in Qt 5.1.

[static] QPointF QPointF::fromCGPoint(CGPoint point)

Creates a QRectF from CGPoint point.

This function was introduced in Qt 5.8.

参见 toCGPoint().

bool QPointF::isNull() const

Returns true if both the x and y coordinates are set to 0.0 (ignoring the sign); otherwise returns false.

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.

参见 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)

参见 x() and setX().

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)

参见 y() and setY().

void QPointF::setX(qreal x)

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

参见 x() and setY().

void QPointF::setY(qreal y)

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

参见 y() and setX().

CGPoint QPointF::toCGPoint() const

Creates a CGPoint from a QPointF.

This function was introduced in Qt 5.8.

参见 fromCGPoint().

QPoint QPointF::toPoint() const

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

参见 QPointF().

qreal QPointF::x() const

Returns the x coordinate of this point.

参见 setX() and rx().

qreal QPointF::y() const

Returns the y coordinate of this point.

参见 setY() and ry().

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)

参见 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)

参见 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)

参见 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)

参见 operator*=().

相关非成员

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

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

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

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

参见 QPointF::operator*=().

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 &p1, const QPointF &p2)

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

参见 QPointF::operator+=().

const QPointF operator+(const QPointF &point)

Returns point unmodified.

This function was introduced in Qt 5.0.

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.

参见 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.

参见 QPointF::operator/=().

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

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

参见 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.

参见 Serializing Qt Data Types.