Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Класс QRect определяет прямоугольник на плоскости, использующий целые значения для задания координат. Далее...
#include <QRect>
Класс QRect определяет прямоугольник на плоскости, использующий целые значения для задания координат.
Обычно, задается левый-верхний угол прямоугольника и его размеры.
По умолчанию, начало системы координат (0, 0) располагается в верхнем-левом углу. Положительное направление оси y - сверху вниз, а положительное направление оси x - слева направо.
Размер (ширина и высота) QRect всегда эквивалентны математическаму прямоугольнику, являющемуся основой для его отображения:
Если Вы используете сглаживание граней, то устройство рисования отобразит границы QRect симметрично с обеих сторон математического прямоугольника. Но если сглаживание не испольуется (по умолчанию), то применяются другие правила.
Тогда, при рисовании пером, толщиной в один пиксель, границы QRect будут нарисованы правее и ниже границ математического прямоугольника.
При рисовании пером, толщиной в два пикселя, линия границы будет разделена посередине математическим прямоугольником. Так будет всякий раз, при рисовании пером, толщиной в четное количество пикселей, при рисовании пером, толщиной в нечетное количество пикселей, дополнительный пиксель будет размещаться правее и ниже граний метематического прямоугольника.
Перо толщиной в один пиксель | Перо толщиной в два пикселя | Перо толщиной в три пикселя |
По историческим причинам, right() и bottom() отклоняются от истинного правого-нижнего угла прямоугольника. Функция right() возвращает left() + width() + 1, а функция bottom() возвращает top() + height() + 1. Правые-нижние зеленые точки на вышеприведенной диаграмме показывают координаты, возвращаемые данной функцией. Мы рекомендуем избегать использования функций right() и bottom(), а вместо них, для нахождения координат правого-нижнео угла, использовать x() + width() и y() + height().
Another solution is to use QRectF: The QRectF class defines a rectangle in the plane using floating point coordinates for accuracy (QRect uses integer coordinates), and the QRectF::right() and QRectF::bottom() functions do return the true bottom-right corner.
QRect может быть создан с помощью задания координат левого-верхнего угла, ширины и высоты целыми числами, или с помощью QPoint и QSize. В следующем примере создаются три идентичных прямоугольника.
QRect r1(100, 200, 11, 16); QRect r2(QPoint(100, 200), QSize(11, 16)); QRect r3(QPoint(100, 200), QPoint(110, 215)); // не рекомендуется
Третий QRect создается с помощью задания координат верхнего-левого и правого-нижнего углов, но мы рекомендуем избегать данного способа, так как, зачастую, он приводит к неожиданному результату (как показано выше).
После создания прямоугольника, можно изменить его характеристики, задавая его координаты, например с помощью setLeft(), setRight(), setTop() и setBottom(), или задавая его размеры, например с помощью setWidth(), setHeight() и setSize(). Характеристики могут быть изменены с помощью функций перемещения, например translate(), moveCenter(), moveBottomRight() и т.д. Вы можете также изменять координаты с помощью adjust(). Вы можете получить новый прямоугольник, основанный на существующем и растянутый, с помощью adjusted(). Проверить, содержит ли QRect определенную точку с помощью contains().
Вы можете проверить, пересекаются ли два QRect с помощью intersects(), и получить область пересечения как QRect с помощью intersect():
Получить прямоугольник, охватывающий два QRect, можно с помощью unite():
См. также QPoint, QSize, QPolygon и QRectF.
Создает нулевой прямоугольник.
См. также isNull().
Создает прямоугольник, в котором topLeft является координатами левого-верхнего угла, а bottomRight является координатами правого-нижнего угла.
Создает прямоугольник, в котором topLeft является координатами левого-верхнего угла, а size является размерами прямоугольника.
Создает прямоугольник с координатами левого-верхнего угла top, left, шириной width и высотой height.
Добавляет xp1, yp1, xp2 и yp2 к текущим коодинатам прямоугольника соответственно.
См. также adjusted().
Возвращает вновь созданный прямоугольник, в котором xp1, yp1, xp2 и yp2 добавлены к текущим координатам данного прямоугольника соответственно.
См. также adjust().
Возвращает нижнюю координату прямоугольника.
См. также setBottom(), top(), bottomLeft() и bottomRight().
Возвращает позицию левого-нижнего угла прямоугольника.
См. также setBottomLeft(), moveBottomLeft(), topRight(), bottom() и left().
Возвращает позицию правого-нижнего угла прямоугольника.
См. также setBottomRight(), moveBottomRight(), topLeft(), right() и bottom().
Возвращает центральную точку прямоугольника.
См. также moveCenter(), topLeft(), bottomRight(), topRight() и bottomLeft().
Возвращает true, если точка p находится внутри или на краю данного прямоугольника; в противном случае возвращает false.
Если proper равно true, то функция возвращает true только в том случае, если p находится внутри прямоугольника (а не на краю).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true, если точка x, y находится внутри или на краю данного прямоугольника; в противном случае возвращает false.
Если proper равно true, то функция возвращает true только в том случае, если p находится внутри прямоугольника (а не на краю).
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true, если точка x, y находится внутри или на краю данного прямоугольника; в противном случае возвращает false.
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает true, если прямоугольник r находится внутри данного прямоугольника; в противном случае возвращает false.
Если proper равно true, то функция возвращает true только в том случае, если r находится внутри прямоугольника (а не на краю).
См. также unite(), intersect() и intersects().
Извлекает параметры прямоугольника как координаты левого-верхнего угла *xp1, *yp1 и координаты правого-нижнего угла *xp2, *yp2.
См. также setCoords() и getRect().
Извлекает параметры прямоугольника как координаты левого-верхнего угла *x, *y, ширину *w и высоту *h.
См. также setRect() и getCoords().
Возвращает высоту прямоугольника. Высота включает верхнюю и нижнюю границы, т.е. height = bottom - top + 1.
См. также width(), size() и setHeight().
Возвращает область пересечения данного прямоугольника и прямоугольника r. r.intersect(s) эквивалентно r&s.
Возвращает true, если данный прямоугольник пересекается с прямоугольником r (т.е., если есть, по крайней мере, одние пиксель, принадлежащий обоим прямоугольникам); в противном случае возваращает false.
См. также intersect() и contains().
Возвращает true, если данный прямоугольник пустой; в противном случае возвращает false.
Пустой прямоугольник - это прямоугольник, у которого left() > right() или top() > bottom().
Пустой прямоугольник недействителен. isEmpty() == !isValid()
См. также isNull(), isValid() и normalized().
Возвращает true, если данный прямоугольник нулевой; в противном случае возвращает false.
Нулевой прямоугольник - это прямоугольник, имеющий ширину и высоту, равные нулю, т.е. right() == left() - 1, а bottom() == top() - 1.
Обратите внимание, что при right() == left() и bottom() == top(), прямоугольник имеет ширину и высоту, равные 1.
Нулевой прямоугольник является пустым.
Нулевой прямоугольник недействителен.
См. также isEmpty() и isValid().
Возвращает true, если прямоугольник действителен; в противном случае возвращает false.
Действительный прямоугольник имеет left() < right() и top() < bottom().
Обратите внимание на то, что нетривиальные действия, подобные определению пересечения, не определены для недействительных прямоугольников.
isValid() == !isEmpty()
См. также isNull(), isEmpty() и normalized().
Возвращает левую координату прямоугольника. Идентично x().
См. также setLeft(), right(), topLeft() и bottomLeft().
Устанавливает нижнюю сторону прямоугольника в позицию pos оставляя неизменным размер.
См. также bottom(), setBottom(), moveLeft(), moveTop() и moveRight().
Устанавливает левый-нижний угол прямоугольника в позицию p, оставляя неизменным размер.
См. также bottomLeft(), setBottomLeft(), moveTopLeft(), moveBottomRight() и moveTopRight().
Устанавливает правый-нижний угол прямоугольника в позицию p, оставляя неизменным размер.
См. также bottomRight(), setBottomRight(), moveTopLeft(), moveTopRight() и moveBottomLeft().
Устанавливает центральную точку прямоугольника в позицию p, оставляя неизменным размер.
См. также center(), moveTopLeft(), moveBottomRight(), moveTopRight() и moveBottomLeft().
Устанавливает левую сторону прямоугольника в позицию pos оставляя неизменным размер.
См. также left(), setLeft(), moveTop(), moveRight() и moveBottom().
Устанавливает правую сторону прямоугольника в позицию pos оставляя неизменным размер.
См. также right(), setRight(), moveLeft(), moveTop() и moveBottom().
Устанавливает правый-нижний угол прямоугольника в позицию x, y, оставляя неизменным размер.
См. также translate() и moveTopLeft().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Устанавливает правый-нижний угол прямоугольника в позицию pt, оставляя неизменным размер.
См. также translate() и moveTopLeft().
Устанавливает верхнюю сторону прямоугольника в позицию pos оставляя неизменным размер.
См. также top(), setTop(), moveLeft(), moveRight() и moveBottom().
Устанавливает левый-верхний угол прямоугольника в позицию p, оставляя неизменным размер.
См. также topLeft(), setTopLeft(), moveBottomRight(), moveTopRight() и moveBottomLeft().
Устанавливает правый-нижний угол прямоугольника в позицию p, оставляя неизменным размер.
См. также topRight(), setTopRight(), moveTopLeft(), moveBottomRight() и moveBottomLeft().
Возвращает нормальзованный прямоугольник, т.е. прямоугольник, ширина и высота которого неотрицательны.
Меняет левую и правую сторону, если left() > right(), и нижнюю и верхнюю стороны, если top() > bottom().
См. также isValid().
Возвращает правую коодинату прямоугольника.
См. также setRight(), left(), topRight() и bottomRight().
Устанавливает нижнюю сторону прямоугольдника в позицию pos. Может измениться высота прямоугольника, но верхняя его сторона не перемещается.
См. также bottom(), setTop() и setHeight().
Устанавливает левый-нижний угол прямоугольника в позицию p. Может измениться размер прямоугоьника, но правый-верхний его угол не перемещается.
См. также bottomLeft(), moveBottomLeft(), setTopLeft(), setBottomRight() и setTopRight().
Устанавливает правый-нижний угол прямоугольника в позицию p. Может измениться размер прямоугольника, но левый-нижний его угол не перемещается.
См. также bottomRight(), moveBottomRight(), setTopLeft(), setTopRight() и setBottomLeft().
Устанавливает координаты левого-верхнего угла прямоугольника в (xp1, yp1), а координаты правого нижнего его угла в (xp2, yp2).
См. также coords(), getCoords() и setRect().
Устанавливает высоту прямоугольника в h. Верхняя сторона не перемещается, но нижняя его сторона может быть перемещена.
См. также height(), setTop(), setBottom() и setSize().
Устанавливает левую сторону прямоугольника в позицию pos. Может измениться ширина прямоугольника, но правая его сторона не перемещается.
Идентично setX().
См. также left(), setTop() и setWidth().
Устанавливает координаты левого-верхнего угла прямоугольника в позицию (x, y), а его размер в (w, h).
См. также rect(), getRect() и setCoords().
Устанавливает правую сторону прямоугольника в позицию pos. Может измениться ширина прямоугольника, но левая его сторона не перемещается.
См. также right(), setLeft() и setWidth().
Устанавливает размер прямоугольника в s. Левый-верхний угол не перемещается.
См. также size(), setWidth() и setHeight().
Устанавливает верхнюю сторону прямоугольника в позицию pos. Может измениться высота прямоугольника, то нижняя его сторона не перемещается.
Идентично setY().
См. также top(), setBottom() и setHeight().
Устанавливает позицию левого-верхнего угла прямоугольника в позицию p. Может измениться размер прямоугольника, но правый-нижний его угол не перемещается.
См. также topLeft(), moveTopLeft(), setBottomRight(), setTopRight() и setBottomLeft().
Устанавливает правый-верхний угол прямоугольника в позицию p. Может измениться размер прямоугольника, но левый-нижний его угол не перемещается.
См. также topRight(), moveTopRight(), setTopLeft(), setBottomRight() и setBottomLeft().
Устанавливает ширину прямоугольника в w. Правая сторона прямоугольника может быть перемещена, но левая его сторона не перемещается.
См. также width(), setLeft(), setRight() и setSize().
Устанавливает позицию x прямоугольника (его левую сторону) в x. Может измениться ширина прямоугольника, но правая его сторона не перемещается.
Идентично setLeft().
Устанавливает позицию y прямоугольника (его верхнюю сторону) в y. Может измениться высота прямоугольника, но нижняя его сторона не перемещается.
Идентично setTop().
Возвращает размер прямоугольника.
См. также setSize(), width() и height().
Возвращает позицию верхней стороны прямоугольника. Идентично y().
См. также setTop(), bottom(), topLeft() и topRight().
Возвращает позицию левого верхнего угла прямоугольника.
См. также setTopLeft(), moveTopLeft(), bottomRight(), left() и top().
Возвращает позицию правого-верхнего угла прямоугольника.
См. также setTopRight(), moveTopRight(), bottomLeft(), top() и right().
Перемещает прямоугольник на dx вдоль оси x и на dy вдоль оси y относительно его текущего положения. При положительных значениях прямоугольник перемещается вправо и вниз.
См. также moveTopLeft(), moveTo() и translated().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Перемещает прямоугольник на p.x() вдоль оси x и на p.y() вдоль оси y относительно его текущего положения. При положительных значениях прямоугольник перемещается вправо и вниз.
См. также moveTopLeft().
Возвращает копию данного прямоугольника сдвинутую на dx вдоль оси x и на dy вдоль оси y относительно его текущего положения. При положительных значениях прямоугольник перемещается вправо и вниз.
См. также translate().
Данная перегруженная функция-член предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Возвращает копию данного прямоугольника сдвинутую на p.x() вдоль оси x и на p.y() вдоль оси y относительно его текущего положения. При положительных значениях прямоугольник перемещается вправо и вниз.
См. также translate().
Возвращает прямоугольник, охватывающий данный прямоугольник и прямоугольник r. r.unite(s) эквивалентно r|s.
Возвращает ширину прямоугольника.
См. также setWidth(), height(), size() и setHeight().
Возвращает позицию левой стороны прямоугольника. Идентично left().
См. также left(), y() и setX().
Возвращает позицию верхней стороны прямоугольника. Идентично top().
См. также top(), x() и setY().
Возвращает область пересечения данного прямоугольника и прямоугольника r.
Если прямоугольники не пересекаются, возвращает пустой прямоугольник.
Эквивалентно вызову
intersect(r)
.
См. также operator&=(), operator|(), isEmpty(), intersect(), contains() и unite().
Пересекает данный прямоугольник прямоугольником r.
Возвращает прямоугольник, охватывающщий данный прямоугольник и прямоугольник r.
Эквивалентно вызову
unite(r)
.
См. также operator|=(), operator&(), intersect(), contains() и unite().
Объединяет данный прямоугольник с прямоугольником r.
Данная перегруженная функция предоставлена для удобства.
Возвращает true, если прямоугольники r1 и r2 различны; в противном случае возвращает false.
Данная перегруженная функция предоставлена для удобства.
Записывает прямоугольник rectangle в поток stream и возвращает ссылку на поток.
См. также Формат операторов QDataStream.
Данная перегруженная функция предоставлена для удобства.
Возвращает true, если прямоугольники r1 и r2 эквивалентны; в противном случае возвращает false.
Данная перегруженная функция предоставлена для удобства.
Считывает прямоугольник rectangle из потока stream и возвращает ссылку на поток.
См. также Формат операторов QDataStream.
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |