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