Класс 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(), которая возвращает копию 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)
divisor не должен быть равен нулю или NaN.
См. также 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.
divisor не должен быть равен нулю или NaN.
См. также 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.2/qpointf.html