En esta página

QPoint Class

La clase QPoint define un punto en el plano utilizando precisión entera. Más...

Cabecera: #include <QPoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Esta clase es igual-comparable.

Esta clase es comparable con QPointF.

Nota: Todas las funciones de esta clase son reentrantes.

Funciones Públicas

QPoint()
QPoint(int xpos, int ypos)
bool isNull() const
int manhattanLength() const
int &rx()
int &ry()
void setX(int x)
void setY(int y)
CGPoint toCGPoint() const
(since 6.4) QPointF toPointF() const
QPoint transposed() const
int x() const
int y() const
QPoint &operator*=(double factor)
QPoint &operator*=(float factor)
QPoint &operator*=(int factor)
QPoint &operator+=(const QPoint &point)
QPoint &operator-=(const QPoint &point)
QPoint &operator/=(qreal divisor)

Miembros Públicos Estáticos

int dotProduct(const QPoint &p1, const QPoint &p2)
bool operator!=(const QPoint &lhs, const QPoint &rhs)
QPoint operator*(const QPoint &point, double factor)
QPoint operator*(const QPoint &point, float factor)
QPoint operator*(const QPoint &point, int factor)
QPoint operator*(double factor, const QPoint &point)
QPoint operator*(float factor, const QPoint &point)
QPoint operator*(int factor, const QPoint &point)
QPoint operator+(const QPoint &point)
QPoint operator+(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &p1, const QPoint &p2)
QPoint operator-(const QPoint &point)
QPoint operator/(const QPoint &point, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QPoint &point)
bool operator==(const QPoint &lhs, const QPoint &rhs)
QDataStream &operator>>(QDataStream &stream, QPoint &point)

Descripción detallada

Un punto se especifica mediante una coordenada x y una coordenada y a las que se puede acceder mediante las funciones x() y y(). La función isNull() devuelve true si tanto x como y son 0. Las coordenadas pueden establecerse (o modificarse) utilizando las funciones setX() y setY(), o alternativamente las funciones rx() y ry() que devuelven referencias a las coordenadas (permitiendo la manipulación directa).

Dado un punto p, las sentencias siguientes son todas equivalentes:

QPoint p;

p.setX(p.x() + 1);
p += QPoint(1, 0);
p.rx()++;

Un objeto QPoint también puede utilizarse como vector: La suma y la resta se definen como para los vectores (cada componente se suma por separado). Un objeto QPoint también se puede dividir o multiplicar por un int o un qreal.

Además, la clase QPoint proporciona la función manhattanLength() que da una aproximación económica de la longitud del objeto QPoint interpretado como un vector. Por último, los objetos QPoint pueden ser transmitidos y comparados.

Véase también QPointF y QPolygon.

Documentación de las funciones miembro

[constexpr noexcept] QPoint::QPoint()

Construye un punto nulo, es decir, con coordenadas (0, 0).

Véase también isNull().

[constexpr noexcept] QPoint::QPoint(int xpos, int ypos)

Construye un punto con las coordenadas dadas (xpos, ypos).

Véase también setX() y setY().

[static constexpr] int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)

QPoint p( 3, 7);
QPoint q(-1, 4);
int dotProduct = QPoint::dotProduct(p, q);   // dotProduct becomes 25

Devuelve el producto punto de p1 y p2.

[constexpr noexcept] bool QPoint::isNull() const

Devuelve true si las coordenadas x e y son 0, en caso contrario devuelve false.

[constexpr] int QPoint::manhattanLength() const

Devuelve la suma de los valores absolutos de x() y y(), tradicionalmente conocida como la "longitud Manhattan" del vector desde el origen hasta el punto. Por ejemplo:

QPoint oldPosition;

void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
    QPoint point = event->pos() - oldPosition;
    if (point.manhattanLength() > 3){
        // the mouse has moved more than 3 pixels since the oldPosition
    }
}

Se trata de una aproximación útil y rápida de calcular a la longitud real:

double trueLength = std::sqrt(std::pow(x(), 2) + std::pow(y(), 2));

La tradición de la "longitud Manhattan" surge porque tales distancias se aplican a los viajeros que sólo pueden desplazarse por una cuadrícula rectangular, como las calles de Manhattan.

[constexpr noexcept] int &QPoint::rx()

Devuelve una referencia a la coordenada x de este punto.

El uso de una referencia permite manipular directamente x. Por ejemplo:

QPoint p(1, 2);
p.rx()--;   // p becomes (0, 2)

Véase también x() y setX().

[constexpr noexcept] int &QPoint::ry()

Devuelve una referencia a la coordenada y de este punto.

El uso de una referencia permite manipular directamente y. Por ejemplo:

QPoint p(1, 2);
p.ry()++;   // p becomes (1, 3)

Véase también y() y setY().

[constexpr noexcept] void QPoint::setX(int x)

Establece la coordenada x de este punto en la coordenada x dada.

Véase también x() y setY().

[constexpr noexcept] void QPoint::setY(int y)

Establece la coordenada y de este punto en la coordenada y dada.

Véase también y() y setX().

[noexcept] CGPoint QPoint::toCGPoint() const

Crea un CGPoint a partir de un QPoint.

Véase también QPointF::fromCGPoint().

[constexpr noexcept, since 6.4] QPointF QPoint::toPointF() const

Devuelve este punto como un punto con precisión de coma flotante.

Esta función se introdujo en Qt 6.4.

Véase también QPointF::toPoint().

[constexpr noexcept] QPoint QPoint::transposed() const

Devuelve un punto con las coordenadas x e y intercambiadas:

QPoint{1, 2}.transposed() // {2, 1}

Véase también x(), y(), setX() y setY().

[constexpr noexcept] int QPoint::x() const

Devuelve la coordenada x de este punto.

Véase también setX() y rx().

[constexpr noexcept] int QPoint::y() const

Devuelve la coordenada y de este punto.

Véase también setY() y ry().

[constexpr] QPoint &QPoint::operator*=(double factor)

Multiplica las coordenadas de este punto por el valor dado factor, y devuelve una referencia a este punto. Por ejemplo:

QPoint p(-1, 4);
p *= 2.5;    // p becomes (-3, 10)

Tenga en cuenta que el resultado se redondea al entero más próximo, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener una precisión de coma flotante.

Véase también operator/=().

[constexpr] QPoint &QPoint::operator*=(float factor)

Multiplica las coordenadas de este punto por factor y devuelve una referencia a este punto.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener una precisión de coma flotante.

Véase también operator/=().

[constexpr] QPoint &QPoint::operator*=(int factor)

Multiplica las coordenadas de este punto por el valor dado factor, y devuelve una referencia a este punto.

Véase también operator/=().

[constexpr] QPoint &QPoint::operator+=(const QPoint &point)

Añade el point dado a este punto y devuelve una referencia a este punto. Por ejemplo:

QPoint p( 3, 7);
QPoint q(-1, 4);
p += q;    // p becomes (2, 11)

Véase también operator-=().

[constexpr] QPoint &QPoint::operator-=(const QPoint &point)

Resta el point dado de este punto y devuelve una referencia a este punto. Por ejemplo:

QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q;    // p becomes (4, 3)

Véase también operator+=().

[constexpr] QPoint &QPoint::operator/=(qreal divisor)

Divide x e y entre divisor y devuelve una referencia a este punto. Por ejemplo:

QPoint p(-3, 10);
p /= 2.5;           // p becomes (-1, 4)

Tenga en cuenta que el resultado se redondea al entero más próximo, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener precisión en coma flotante.

Véase también operator*=().

No miembros relacionados

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

Devuelve true si lhs y rhs no son iguales; en caso contrario devuelve false.

[constexpr] QPoint operator*(const QPoint &point, double factor)

Devuelve una copia de point multiplicada por factor.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener una precisión de coma flotante.

Véase también QPoint::operator*=().

[constexpr] QPoint operator*(const QPoint &point, float factor)

Devuelve una copia de point multiplicada por factor.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener una precisión de coma flotante.

Véase también QPoint::operator*=().

[constexpr noexcept] QPoint operator*(const QPoint &point, int factor)

Devuelve una copia de point multiplicada por factor.

Véase también QPoint::operator*=().

[constexpr] QPoint operator*(double factor, const QPoint &point)

Devuelve una copia de point multiplicada por factor.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para la precisión de punto flotante.

Esta es una función sobrecargada.

Véase también QPoint::operator*=().

[constexpr] QPoint operator*(float factor, const QPoint &point)

Devuelve una copia de point multiplicada por factor.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para la precisión de punto flotante.

Esta es una función sobrecargada.

Véase también QPoint::operator*=().

[constexpr noexcept] QPoint operator*(int factor, const QPoint &point)

Devuelve una copia de point multiplicada por factor.

Se trata de una función sobrecargada.

Véase también QPoint::operator*=().

[constexpr noexcept] QPoint operator+(const QPoint &point)

Devuelve point sin modificar.

[constexpr noexcept] QPoint operator+(const QPoint &p1, const QPoint &p2)

Devuelve un objeto QPoint que es la suma de los puntos dados, p1 y p2; cada componente se suma por separado.

Véase también QPoint::operator+=().

[constexpr noexcept] QPoint operator-(const QPoint &p1, const QPoint &p2)

Devuelve un objeto QPoint que se forma restando p2 de p1; cada componente se resta por separado.

Véase también QPoint::operator-=().

[constexpr noexcept] QPoint operator-(const QPoint &point)

Devuelve un objeto QPoint que se forma cambiando el signo de ambos componentes del point dado.

Equivalente a QPoint(0,0) - point.

Se trata de una función sobrecargada.

[constexpr] QPoint operator/(const QPoint &point, qreal divisor)

Devuelve el QPoint formado dividiendo ambos componentes del point dado por el divisor dado.

Tenga en cuenta que el resultado se redondea al entero más cercano, ya que los puntos se mantienen como enteros. Utilice QPointF para obtener una precisión de coma flotante.

Véase también QPoint::operator/=().

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

Escribe el point dado en el stream dado y devuelve una referencia al flujo.

Véase también Serializar tipos de datos Qt.

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

Devuelve true si lhs y rhs son iguales; en caso contrario devuelve false.

QDataStream &operator>>(QDataStream &stream, QPoint &point)

Lee un punto del stream dado en el point dado y devuelve una referencia al flujo.

Véase también Serializar tipos de datos 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.