Класс QPointF
Класс QPointF определяет точку на плоскости с использованием плавающей точки. Подробнее...
| Заголовок: | #include <QPointF> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| QPointF(qreal xpos, qreal ypos) | |
| QPointF(const QPoint &point) | |
| QPointF() | |
| bool | isNull() const |
| qreal | manhattanLength() const |
| qreal & | rx() |
| qreal & | ry() |
| void | setX(qreal x) |
| void | setY(qreal y) |
| CGPoint | toCGPoint() const |
| QPoint | toPoint() const |
| QPointF | transposed() 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) |
| QPointF | operator*(const QPointF &point, qreal factor) |
| QPointF | operator*(qreal factor, const QPointF &point) |
| QPointF | operator+(const QPointF &p1, const QPointF &p2) |
| QPointF | operator+(const QPointF &point) |
| QPointF | operator-(const QPointF &p1, const QPointF &p2) |
| QPointF | operator-(const QPointF &point) |
| 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) |
Подробное описание
Точка задается x-координатой и y-координатой, к которым можно получить доступ, используя функции x() и y(). Координаты точки задаются с помощью чисел с плавающей точкой для повышения точности. Функция isNull() возвращает true если и x, и y установлены в 0,0. Координаты можно установить (или изменить) с помощью функций setX() и setY() или, как альтернатива, функций rx() и ry(), которые возвращают ссылки на координаты (позволяя прямое изменение).
Для точки p следующие утверждения эквивалентны:
QPointF p; p.setX(p.x() + 1.0); p += QPointF(1.0, 0.0); p.rx()++;
Объект QPointF также может использоваться как вектор: сложение и вычитание определены как для векторов (каждый компонент складывается отдельно). Объект QPointF также может быть разделен или умножен на int или на qreal.
Кроме того, класс QPointF предоставляет конструктор, преобразующий объект QPoint в объект QPointF, и соответствующую функцию toPoint(), которая возвращает копию точки this в виде объекта QPoint. Наконец, объекты QPointF можно записывать и сравнивать.
Документация по функциям-членам
QPointF::QPointF(qreal xpos, qreal ypos)
Создаёт точку с заданными координатами (xpos, ypos).
QPointF::QPointF(const QPoint &point)
Создаёт копию заданной точки point.
См. также toPoint().
QPointF::QPointF()
Создаёт нулевую точку, т.е. с координатами (0,0)
См. также isNull().
[static, since 5.1] 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
Возвращает скалярное произведение p1 и p2.
Эта функция была добавлена в Qt 5.1.
[static, since 5.8] QPointF QPointF::fromCGPoint(CGPoint point)
Создаёт QRectF из CGPoint point.
Эта функция была добавлена в Qt 5.8.
См. также toCGPoint().
bool QPointF::isNull() const
Возвращает true если обе x и y координаты установлены в 0,0 (не учитывая знак); в противном случае возвращает false.
qreal QPointF::manhattanLength() const
Возвращает сумму абсолютных значений x() и y(), традиционно известную как "манхэттенская длина" вектора от начала координат до точки.
См. также QPoint::manhattanLength().
qreal &QPointF::rx()
Возвращает ссылку на x-координату этой точки.
Использование ссылки позволяет непосредственно манипулировать x. Например:
QPointF p(1.1, 2.5); p.rx()--; // p becomes (0.1, 2.5)
qreal &QPointF::ry()
Возвращает ссылку на y-координату этой точки.
Использование ссылки позволяет непосредственно манипулировать y. Например:
QPointF p(1.1, 2.5); p.ry()++; // p becomes (1.1, 3.5)
void QPointF::setX(qreal x)
Устанавливает координату x этой точки на заданную координату x.
void QPointF::setY(qreal y)
Устанавливает координату y этой точки на заданную координату y.
[since 5.8] CGPoint QPointF::toCGPoint() const
Создаёт CGPoint из QPointF.
Эта функция была добавлена в Qt 5.8.
См. также fromCGPoint().
QPoint QPointF::toPoint() const
Округляет координаты этой точки до ближайшего целого числа и возвращает объект QPoint с округлёнными координатами.
См. также QPointF().
[since 5.14] QPointF QPointF::transposed() const
Возвращает точку с переставленными координатами x и y:
QPointF{1.0, 2.0}.transposed() // {2.0, 1.0} Эта функция была добавлена в Qt 5.14.
См. также x(), y(), setX() и setY().
qreal QPointF::x() const
Возвращает координату x этой точки.
qreal QPointF::y() const
Возвращает координату y этой точки.
QPointF &QPointF::operator*=(qreal factor)
Умножает координаты этой точки на заданный factor и возвращает ссылку на эту точку. Например:
QPointF p(-1.1, 4.1); p *= 2.5; // p becomes (-2.75, 10.25)
См. также operator/=().
QPointF &QPointF::operator+=(const QPointF &point)
Добавляет заданную point к этой точке и возвращает ссылку на эту точку. Например:
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)
Вычитает заданную point из этой точки и возвращает ссылку на эту точку. Например:
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)
Делит координаты x и y на заданный divisor и возвращает ссылку на эту точку. Например:
QPointF p(-2.75, 10.25); p /= 2.5; // p becomes (-1.1, 4.1)
См. также operator*=().
Связанные нечлены
bool operator!=(const QPointF &p1, const QPointF &p2)
Возвращает true если p1 достаточно отличается от p2; в противном случае возвращает false.
Предупреждение: Эта функция не проверяет строгое неравенство; вместо этого она использует приближённое сравнение для сравнения координат точек.
См. также qFuzzyCompare.
QPointF operator*(const QPointF &point, qreal factor)
Возвращает копию заданной point, умноженную на заданный factor.
См. также QPointF::operator*=().
QPointF operator*(qreal factor, const QPointF &point)
Это перегруженная функция.
Возвращает копию заданной point, умноженную на заданный factor.
QPointF operator+(const QPointF &p1, const QPointF &p2)
Возвращает объект QPointF, который является суммой заданных точек, p1 и p2; каждый компонент складывается отдельно.
См. также QPointF::operator+=().
[since 5.0] QPointF operator+(const QPointF &point)
Возвращает point без изменений.
Эта функция была добавлена в Qt 5.0.
QPointF operator-(const QPointF &p1, const QPointF &p2)
Возвращает объект QPointF, который образуется путём вычитания p2 из p1; каждый компонент вычитается отдельно.
См. также QPointF::operator-=().
QPointF operator-(const QPointF &point)
Это перегруженная функция.
Возвращает объект QPointF, который образуется путём изменения знака обоих компонентов заданной point.
Эквивалентно QPointF(0,0) - point.
QPointF operator/(const QPointF &point, qreal divisor)
Возвращает объект QPointF, образованный путём деления обоих компонентов заданной point на заданный divisor.
См. также QPointF::operator/=().
QDataStream &operator<<(QDataStream &stream, const QPointF &point)
Записывает заданную point в заданный stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QPointF &p1, const QPointF &p2)
Возвращает true если p1 приблизительно равно p2; в противном случае возвращает false.
Предупреждение: Эта функция не проверяет строгое равенство; вместо этого она использует приближённое сравнение для сравнения координат точек.
См. также qFuzzyCompare.
QDataStream &operator>>(QDataStream &stream, QPointF &point)
Читает точку из заданного stream в заданную point и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qpointf.html