Spec-Zone.ru › Qt 5.15

Класс QPoint

Класс QPoint определяет точку на плоскости с целочисленной точностью. Подробнее...

Заголовок: #include <QPoint>
qmake: QT += core
  • Список всех членов, включая наследуемые

Примечание: Все функции в этом классе являются реентерабельными.

Открытые функции

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

Статические открытые члены

int dotProduct(const QPoint &p1, const QPoint &p2)

Связанные нечлены

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

Подробное описание

Точка задаётся координатами x и y, к которым можно получить доступ с помощью функций x() и y(). Функция isNull() возвращает true если обе координаты x и y установлены в 0. Координаты можно установить (или изменить) с помощью функций setX() и setY(), или, альтернативно, функций rx() и ry(), которые возвращают ссылки на координаты (что позволяет производить непосредственное изменение).

Для точки p следующие утверждения эквивалентны:

QPoint p;

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

Объект QPoint также может использоваться как вектор: сложение и вычитание определены как для векторов (каждый компонент добавляется отдельно). Объект QPoint также может быть делён или умножен на int или qreal.

Кроме того, класс QPoint предоставляет функцию manhattanLength(), которая даёт быстрое приближение длины объекта QPoint, интерпретируемого как вектор. Наконец, объекты QPoint могут быть потоковыми и сравниваться.

См. также QPointF и QPolygon.

Документация по членам-функциям

QPoint::QPoint(int xpos, int ypos)

Создаёт точку с заданными координатами (xpos, ypos).

См. также setX() и setY().

QPoint::QPoint()

Создаёт нулевую точку, т.е. с координатами (0, 0)

См. также isNull().

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

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

Возвращает скалярное произведение p1 и p2.

Эта функция была добавлена в Qt 5.1.

bool QPoint::isNull() const

Возвращает true если обе координаты x и y установлены в 0, в противном случае возвращает false.

int QPoint::manhattanLength() const

Возвращает сумму абсолютных значений x() и y(), традиционно известную как «махагоннское расстояние» вектора от начала координат до точки. Например:

QPoint oldPosition;

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

Это полезное и быстрое приближение к истинной длине:

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

Традиция «махагоннского расстояния» происходит от того, что такие расстояния применяются к путешественникам, которые могут перемещаться только по прямоугольной сетке, например, по улицам Манхэттена.

int &QPoint::rx()

Возвращает ссылку на координату x этой точки.

Использование ссылки позволяет непосредственно манипулировать x. Например:

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

См. также x() и setX().

int &QPoint::ry()

Возвращает ссылку на координату y этой точки.

Использование ссылки позволяет непосредственно манипулировать y. Например:

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

См. также y() и setY().

void QPoint::setX(int x)

Устанавливает координату x этой точки в заданную координату x.

См. также x() и setY().

void QPoint::setY(int y)

Устанавливает координату y этой точки на заданную координату y.

См. также y() и setX().

CGPoint QPoint::toCGPoint() const

Создаёт CGPoint из QPoint.

Эта функция была добавлена в Qt 5.8.

См. также QPointF::fromCGPoint().

QPoint QPoint::transposed() const

Возвращает точку с переставленными координатами x и y:

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

Эта функция была добавлена в Qt 5.14.

См. также x(), y(), setX() и setY().

int QPoint::x() const

Возвращает координату x этой точки.

См. также setX() и rx().

int QPoint::y() const

Возвращает координату y этой точки.

См. также setY() и ry().

QPoint &QPoint::operator*=(float factor)

Умножает координаты этой точки на заданный factor и возвращает ссылку на эту точку.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для обеспечения точности с плавающей точкой.

См. также operator/=().

QPoint &QPoint::operator*=(double factor)

Умножает координаты этой точки на заданный factor и возвращает ссылку на эту точку. Например:

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

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для обеспечения точности с плавающей точкой.

См. также operator/=().

QPoint &QPoint::operator*=(int factor)

Умножает координаты этой точки на заданный factor и возвращает ссылку на эту точку.

См. также operator/=().

QPoint &QPoint::operator+=(const QPoint &point)

Добавляет заданную point к этой точке и возвращает ссылку на эту точку. Например:

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

См. также operator-=().

QPoint &QPoint::operator-=(const QPoint &point)

Вычитает заданную point из этой точки и возвращает ссылку на эту точку. Например:

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

См. также operator+=().

QPoint &QPoint::operator/=(qreal divisor)

Это перегруженная функция.

Делит координаты x и y на заданный divisor и возвращает ссылку на эту точку. Например:

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

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для обеспечения точности с плавающей точкой.

См. также operator*=().

Связанные не члены

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

Возвращает true если p1 и p2 не равны; в противном случае возвращает false.

const QPoint operator*(const QPoint &point, float factor)

Возвращает копию заданной точки point, умноженной на заданный factor.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для точности с плавающей запятой.

См. также QPoint::operator*=().

const QPoint operator*(float factor, const QPoint &point)

Это перегруженная функция.

Возвращает копию заданной точки point, умноженной на заданный factor.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для точности с плавающей запятой.

См. также QPoint::operator*=().

const QPoint operator*(const QPoint &point, double factor)

Возвращает копию заданной точки point, умноженной на заданный factor.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для точности с плавающей запятой.

См. также QPoint::operator*=().

const QPoint operator*(double factor, const QPoint &point)

Это перегруженная функция.

Возвращает копию заданной точки point, умноженной на заданный factor.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для точности с плавающей запятой.

См. также QPoint::operator*=().

const QPoint operator*(const QPoint &point, int factor)

Возвращает копию заданной точки point, умноженной на заданный factor.

См. также QPoint::operator*=().

const QPoint operator*(int factor, const QPoint &point)

Это перегруженная функция.

Возвращает копию заданной точки point, умноженной на заданный factor.

См. также QPoint::operator*=().

const QPoint operator+(const QPoint &p1, const QPoint &p2)

Возвращает объект QPoint, являющийся суммой заданных точек p1 и p2; каждый компонент суммируется отдельно.

См. также QPoint::operator+=().

const QPoint operator+(const QPoint &point)

Возвращает point без изменений.

Эта функция была представлена в Qt 5.0.

const QPoint operator-(const QPoint &p1, const QPoint &p2)

Возвращает объект QPoint, полученный путем вычитания p2 из p1; каждый компонент вычитается отдельно.

См. также QPoint::operator-=().

const QPoint operator-(const QPoint &point)

Это перегруженная функция.

Возвращает объект QPoint, образованный изменением знака обоих компонентов заданной точки point.

Эквивалентно QPoint(0,0) - point.

const QPoint operator/(const QPoint &point, qreal divisor)

Возвращает QPoint, полученный путем деления обоих компонентов заданной точки point на заданный divisor.

Обратите внимание, что результат округляется до ближайшего целого числа, так как точки хранятся как целые числа. Используйте QPointF для точности с плавающей запятой.

См. также QPoint::operator/=().

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

Записывает заданную точку point в заданный stream и возвращает ссылку на поток.

См. также Сериализация типов данных Qt.

bool operator==(const QPoint &p1, const QPoint &p2)

Возвращает true если p1 и p2 равны; в противном случае возвращает false.

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

Считывает точку из заданного stream в заданную point и возвращает ссылку на поток.

См. также Сериализация типов данных Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qpoint.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API