Класс 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, 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.1/qpointf.html