![]() |
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции | ![]() |
Класс QPoint описывает точку на плоскости, используя целочисленную точность. Далее...
#include <QPoint>
Класс QPoint описывает точку на плоскости, используя целочисленную точность.
Точка определяется координатой x и координатой y, которые могут быть доступны используя функции x() и y(). Функция isNull() возвращает истину если и 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.
Конструирует пустую точку, т.е. с координатами (0, 0)
Смотрите также isNull().
Конструирует точку с заданными координатами (x, y).
Смотрите также setX() и setY().
Возвращает истину если обе координаты, х и у, равны 0, в противном случае возвращает ложь.
Возвращает сумму абсолютных величин x() и y(), традиционно известную как "Манхэтэнская длинна" вектора от начала координат до точки. Например:
QPoint oldPosition;
MyWidget::mouseMoveEvent(QMouseEvent *event)
{
QPoint point = event->pos() - oldPosition;
if (point.manhattanLength() > 3)
// мышь переместилась на более чем 3 пикселя по сравнению с oldPosition
}
Это полезное, и быстро вычисляемое, приближение к истинной величине:
int trueManhattanLength = sqrt(pow(x(), 2) + pow(y(), 2));
Традиция "Манхэтенской длины" возникла потому что такое расстояние применяется к путешественнику, который может путешествовать по прямоугольной сетке, подобной улицам Манхэтена.
Возвращает ссылку на координату x, этой точки.
Использование ссылки делает возможным прямую манипуляцию над координатой x. Например:
QPoint p(1, 2);
p.rx()--; // p станет (0, 2)
Возвращает ссылку на координату y, этой точки.
Использование ссылки делает возможным прямую манипуляцию над координатой y. Например:
QPoint p(1, 2);
p.ry()++; // p станет (1, 3)
Устанавливает координату x, этой точки, в заданное значение x.
Устанавливает координату y, этой точки, в заданное значение y.
Возвращает координату x, этой точки.
Возвращает координату y, этой точки.
Умножает координаты этой точки на factor, и возвращает ссылку на эту точку. Например:
QPoint p(-1, 4);
p *= 2.5; // p станет (-3, 10)
Заметьте, что результат округляется к ближайшему целому поскольку точки представлены целыми числами. Используйте QPointF для точности плавающей запятой.
Смотрите также operator/=().
Прибавляет заданную точку point к этой точке и возвращает ссылку на эту точку. Например:
QPoint p( 3, 7);
QPoint q(-1, 4);
p += q; // p станет (2, 11)
Смотрите также operator-=().
Вычитает заданную точку point из этой точки и возвращает ссылку на эту точку. Например:
QPoint p( 3, 7);
QPoint q(-1, 4);
p -= q; // p станет (4, 3)
Смотрите также operator+=().
Делит обе координаты, x и y, на заданный делитель divisor, и возвращает ссылку на эту точку. Например:
QPoint p(-3, 10);
p /= 2.5; // p станет (-1, 4)
Заметьте, что результат округляется к ближайшему целому поскольку точки представлены целыми числами. Используйте QPointF для точности плавающей запятой.
Смотрите также operator*=().
Это перегруженная функция, предоставленная для удобства.
Возвращает истину если p1 и p2 не равны; в противном случае возвращает ложь.
Возвращает копию заданной точки point умноженной на заданный factor.
Заметьте, что результат округляется к ближайшему целому поскольку точки представлены целыми числами. Используйте QPointF для точности плавающей запятой.
Смотрите также QPoint::operator*=().
Это перегруженная функция, предоставленная для удобства.
Возвращает копию заданной точки point умноженной на заданный factor.
Это перегруженная функция, предоставленная для удобства.
Возвращает объект QPoint, который является суммой заданных точек, p1 и p2; каждый компонент добавляется отдельно.
Смотрите также QPoint::operator+=().
Возвращает объект QPoint, который получается вычитанием, p1 из p2; каждый компонент вычитается отдельно.
Смотрите также QPoint::operator-=().
Это перегруженная функция, предоставленная для удобства.
Возвращает объект QPoint, который получается изменением знака обоих компонентов заданной точки point.
Эквивалентно QPoint(0,0) - point.
Возвращает QPoint получаемый делением обоих компонентов заданной точки point на заданный делитель divisor.
Заметьте, что результат округляется к ближайшему целому поскольку точки представлены целыми числами. Используйте QPointF для точности плавающей запятой.
Смотрите также QPoint::operator/=().
Это перегруженная функция, предоставленная для удобства.
Записывает точку point в заданный поток stream и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Это перегруженная функция, предоставленная для удобства.
Возвращает истину если p1 и p2 равны; в противном случае возвращает ложь.
Это перегруженная функция, предоставленная для удобства.
Читает точку из потока stream в заданную точку point и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Copyright © 2008 Trolltech | Торговые марки | Qt 4.3.5 |