Класс QRectF
Класс QRectF определяет прямоугольник в плоскости с плавающей точкой. Подробнее...
| Заголовок: | #include <QRectF> |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются перевходными.
Публичные функции
| QRectF() | |
| QRectF(const QPointF &topLeft, const QSizeF &size) | |
| QRectF(const QPointF &topLeft, const QPointF &bottomRight) | |
| QRectF(qreal x, qreal y, qreal width, qreal height) | |
| QRectF(const QRect &rectangle) | |
| void | adjust(qreal dx1, qreal dy1, qreal dx2, qreal dy2) |
| QRectF | adjusted(qreal dx1, qreal dy1, qreal dx2, qreal dy2) const |
| qreal | bottom() const |
| QPointF | bottomLeft() const |
| QPointF | bottomRight() const |
| QPointF | center() const |
| bool | contains(const QPointF &point) const |
| bool | contains(const QRectF &rectangle) const |
| bool | contains(qreal x, qreal y) const |
| void | getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const |
| void | getRect(qreal *x, qreal *y, qreal *width, qreal *height) const |
| qreal | height() const |
| QRectF | intersected(const QRectF &rectangle) const |
| bool | intersects(const QRectF &rectangle) const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isValid() const |
| qreal | left() const |
| QRectF | marginsAdded(const QMarginsF &margins) const |
| QRectF | marginsRemoved(const QMarginsF &margins) const |
| void | moveBottom(qreal y) |
| void | moveBottomLeft(const QPointF &position) |
| void | moveBottomRight(const QPointF &position) |
| void | moveCenter(const QPointF &position) |
| void | moveLeft(qreal x) |
| void | moveRight(qreal x) |
| void | moveTo(qreal x, qreal y) |
| void | moveTo(const QPointF &position) |
| void | moveTop(qreal y) |
| void | moveTopLeft(const QPointF &position) |
| void | moveTopRight(const QPointF &position) |
| QRectF | normalized() const |
| qreal | right() const |
| void | setBottom(qreal y) |
| void | setBottomLeft(const QPointF &position) |
| void | setBottomRight(const QPointF &position) |
| void | setCoords(qreal x1, qreal y1, qreal x2, qreal y2) |
| void | setHeight(qreal height) |
| void | setLeft(qreal x) |
| void | setRect(qreal x, qreal y, qreal width, qreal height) |
| void | setRight(qreal x) |
| void | setSize(const QSizeF &size) |
| void | setTop(qreal y) |
| void | setTopLeft(const QPointF &position) |
| void | setTopRight(const QPointF &position) |
| void | setWidth(qreal width) |
| void | setX(qreal x) |
| void | setY(qreal y) |
| QSizeF | size() const |
| QRect | toAlignedRect() const |
| QRect | toRect() const |
| qreal | top() const |
| QPointF | topLeft() const |
| QPointF | topRight() const |
| void | translate(qreal dx, qreal dy) |
| void | translate(const QPointF &offset) |
| QRectF | translated(qreal dx, qreal dy) const |
| QRectF | translated(const QPointF &offset) const |
| QRectF | united(const QRectF &rectangle) const |
| qreal | ширина() const |
| qreal | x() const |
| qreal | y() const |
| QRectF | operator&(const QRectF &rectangle) const |
| QRectF & | operator&=(const QRectF &rectangle) |
| QRectF & | operator+=(const QMarginsF &margins) |
| QRectF & | operator-=(const QMarginsF &margins) |
| QRectF | operator|(const QRectF &rectangle) const |
| QRectF & | operator|=(const QRectF &rectangle) |
Связанные нечлены
| bool | operator!=(const QRectF &r1, const QRectF &r2) |
| QRectF | operator+(const QRectF &lhs, const QMarginsF &rhs) |
| QRectF | operator+(const QMarginsF &lhs, const QRectF &rhs) |
| QRectF | operator-(const QRectF &lhs, const QMarginsF &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QRectF &rectangle) |
| bool | operator==(const QRectF &r1, const QRectF &r2) |
| QDataStream & | operator>>(QDataStream &stream, QRectF &rectangle) |
Подробное описание
Класс QRectF определяет прямоугольник на плоскости с использованием плавающей точки.
Прямоугольник обычно выражается как верхний левый угол и размер. Размер (ширина и высота) QRectF всегда эквивалентен математическому прямоугольнику, который служит основой для его отрисовки.
Класс QRectF может быть создан с набором левых, верхних, ширины и высоты целых чисел или из QPoint и QSize. Следующий код создает два идентичных прямоугольника.
QRectF r1(100, 200, 11, 16); QRectF r2(QPoint(100, 200), QSize(11, 16));
Также существует третий конструктор, создающий QRectF из QRect, и соответствующая функция toRect(), которая возвращает объект QRect на основе значений этого прямоугольника (обратите внимание, что координаты в возвращаемом прямоугольнике округляются до ближайшего целого числа).
Класс QRectF предоставляет набор функций, которые возвращают различные координаты прямоугольника и позволяют манипулировать ими. QRectF также предоставляют функции для перемещения прямоугольника относительно различных координат. Кроме того, есть функция moveTo(), которая перемещает прямоугольник, оставляя его верхний левый угол в заданных координатах. В качестве альтернативы, функция translate() перемещает прямоугольник на заданный сдвиг относительно текущего положения, а функция translated() возвращает перемещенную копию этого прямоугольника.
Функция size() возвращает размеры прямоугольника в виде QSize. Размеры также можно получить по отдельности с помощью функций ширина() и высота(). Для изменения размеров используйте функции setSize(), setWidth() или setHeight(). В качестве альтернативы, размер можно изменить, применив любую из функций, устанавливающих координаты прямоугольника, например, setBottom() или setRight().
Функция contains() проверяет, находится ли заданная точка внутри прямоугольника, а функция intersects() возвращает true, если этот прямоугольник пересекается с заданным прямоугольником (в противном случае — false). Класс QRectF также предоставляет функцию intersected() для возврата прямоугольника пересечения и функцию united() для возврата прямоугольника, содержащего данный прямоугольник и этот:
| intersected() | united() |
Функция isEmpty() возвращает true, если ширина или высота прямоугольника меньше или равна 0. Обратите внимание, что пустой прямоугольник не является допустимым: функция isValid() возвращает true, если ширина и высота больше 0. В то же время, у нулевого прямоугольника (isNull() == true) и ширина, и высота установлены равными 0.
Обратите внимание, что из-за способа определения QRect и QRectF, пустой QRectF определён по существу так же, как и QRect.
Наконец, объекты QRectF можно передавать и сравнивать.
Отрисовка
При использовании антиалиасингового рисовальщика граница QRectF будет отрисовываться симметрично по обе стороны от границы математического прямоугольника. Но при использовании алиасингового рисовальщика (по умолчанию) применяются другие правила.
Затем, при отрисовке с пером шириной в один пиксель граница QRectF будет отрисовываться справа и снизу от границы математического прямоугольника.
При отрисовке с пером шириной в два пикселя линия границы будет разделена пополам математическим прямоугольником. Это будет происходить всякий раз, когда ширина пера — чётное число пикселей. В то время как отрисовка с пером нечётной ширины, дополнительный пиксель будет отрисовываться справа и снизу от математического прямоугольника, как и в случае с одним пикселем.
| Логическое представление | Перо шириной в один пиксель |
| Перо шириной в два пикселя | Перо шириной в три пикселя |
Координаты
Класс QRectF предоставляет набор функций, возвращающих различные координаты прямоугольника и позволяющих их изменять. QRectF также предоставляет функции для перемещения прямоугольника относительно различных координат.
Например: функции bottom(), setBottom() и moveBottom() — bottom() возвращает координату y нижнего края прямоугольника, setBottom() устанавливает нижний край прямоугольника в заданную координату y (может изменить высоту, но никогда не изменит верхний край прямоугольника), а moveBottom() перемещает весь прямоугольник по вертикали, оставляя нижний край прямоугольника в заданной координате y и не изменяя его размер.
Также можно добавить смещения к координатам этого прямоугольника, используя функцию adjust(), а также получить новый прямоугольник на основе корректировок исходного с помощью функции adjusted(). Если либо ширина, либо высота отрицательны, используйте функцию normalized() для получения прямоугольника, где углы поменяны местами.
Кроме того, QRectF предоставляет функцию getCoords() для извлечения положения верхнего левого и нижнего правого углов прямоугольника и функцию getRect() для извлечения верхнего левого угла, ширины и высоты прямоугольника. Используйте функции setCoords() и setRect() для одновременной обработки координат и размеров прямоугольника.
Документация по членам-функциям
QRectF::QRectF()
Создаёт нулевой прямоугольник.
См. также isNull().
QRectF::QRectF(const QPointF &topLeft, const QSizeF &size)
Создаёт прямоугольник с заданным углом topLeft и заданным размером size.
См. также setTopLeft() и setSize().
QRectF::QRectF(const QPointF &topLeft, const QPointF &bottomRight)
Создаёт прямоугольник с заданными углами topLeft и bottomRight.
Эта функция была добавлена в Qt 4.3.
См. также setTopLeft() и setBottomRight().
QRectF::QRectF(qreal x, qreal y, qreal width, qreal height)
Создаёт прямоугольник с левым верхним углом (x, y) и заданной width и height.
См. также setRect().
QRectF::QRectF(const QRect &rectangle)
Создаёт прямоугольник QRectF из заданного прямоугольника QRect rectangle.
См. также toRect().
void QRectF::adjust(qreal dx1, qreal dy1, qreal dx2, qreal dy2)
Добавляет dx1, dy1, dx2 и dy2 соответственно к существующим координатам прямоугольника.
См. также adjusted() и setRect().
QRectF QRectF::adjusted(qreal dx1, qreal dy1, qreal dx2, qreal dy2) const
Возвращает новый прямоугольник с добавленными dx1, dy1, dx2 и dy2 соответственно к существующим координатам этого прямоугольника.
См. также adjust().
qreal QRectF::bottom() const
Возвращает y-координату нижней стороны прямоугольника.
См. также setBottom(), bottomLeft() и bottomRight().
QPointF QRectF::bottomLeft() const
Возвращает положение левого нижнего угла прямоугольника.
См. также setBottomLeft(), bottom() и left().
QPointF QRectF::bottomRight() const
Возвращает положение правого нижнего угла прямоугольника.
См. также setBottomRight(), bottom() и right().
QPointF QRectF::center() const
Возвращает центральную точку прямоугольника.
См. также moveCenter().
bool QRectF::contains(const QPointF &point) const
Возвращает true , если заданная точка point находится внутри или на границе прямоугольника; в противном случае возвращает false.
См. также intersects().
bool QRectF::contains(const QRectF &rectangle) const
Это перегруженный метод.
Возвращает true , если заданный прямоугольник rectangle находится внутри этого прямоугольника; в противном случае возвращает false.
bool QRectF::contains(qreal x, qreal y) const
Это перегруженный метод.
Возвращает true , если точка (x, y) находится внутри или на границе прямоугольника; в противном случае возвращает false.
void QRectF::getCoords(qreal *x1, qreal *y1, qreal *x2, qreal *y2) const
Извлекает координаты левого верхнего угла прямоугольника в *x1 и *y1, а координаты правого нижнего угла — в *x2 и *y2.
См. также setCoords() и getRect().
void QRectF::getRect(qreal *x, qreal *y, qreal *width, qreal *height) const
Извлекает положение верхнего левого угла прямоугольника в *x и *y, а его размеры в *width и *height.
См. также setRect() и getCoords().
qreal QRectF::height() const
Возвращает высоту прямоугольника.
См. также setHeight(), width() и size().
QRectF QRectF::intersected(const QRectF &rectangle) const
Возвращает пересечение данного прямоугольника и заданного прямоугольника rectangle. Обратите внимание, что r.intersected(s) эквивалентно r & s.
Эта функция была добавлена в Qt 4.2.
См. также intersects(), united() и operator&=().
bool QRectF::intersects(const QRectF &rectangle) const
Возвращает true, если данный прямоугольник пересекается с заданным прямоугольником rectangle (т.е. существует непустая область перекрытия между ними), в противном случае возвращает false.
Прямоугольник пересечения можно получить с помощью функции intersected().
См. также contains().
bool QRectF::isEmpty() const
Возвращает true, если прямоугольник пустой, в противном случае возвращает false.
Пустой прямоугольник имеет width() <= 0 или height() <= 0. Пустой прямоугольник не является допустимым (т.е., isEmpty() == !isValid()).
Используйте функцию normalized() для получения прямоугольника, где углы поменяны местами.
См. также isNull(), isValid() и normalized().
bool QRectF::isNull() const
Возвращает true, если прямоугольник — это нулевой прямоугольник, в противном случае возвращает false.
Нулевой прямоугольник имеет ширину и высоту, равные 0. Нулевой прямоугольник также пустой и, следовательно, недопустимый.
См. также isEmpty() и isValid().
bool QRectF::isValid() const
Возвращает true, если прямоугольник допустим, в противном случае возвращает false.
Допустимый прямоугольник имеет width() > 0 и height() > 0. Обратите внимание, что такие нетривиальные операции, как пересечения, не определены для недопустимых прямоугольников. Допустимый прямоугольник не пустой (т.е., isValid() == !isEmpty()).
См. также isNull(), isEmpty() и normalized().
qreal QRectF::left() const
Возвращает x-координату левой грани прямоугольника. Эквивалентно x().
См. также setLeft(), topLeft() и bottomLeft().
QRectF QRectF::marginsAdded(const QMarginsF &margins) const
Возвращает прямоугольник, увеличенный на заданные margins.
Эта функция была добавлена в Qt 5.3.
См. также operator+=(), marginsRemoved() и operator-=().
QRectF QRectF::marginsRemoved(const QMarginsF &margins) const
Удаляет заданные margins из прямоугольника, уменьшая его.
Эта функция была добавлена в Qt 5.3.
См. также marginsAdded(), operator+=() и operator-=().
void QRectF::moveBottom(qreal y)
Перемещает прямоугольник вертикально, оставляя нижнюю грань прямоугольника на заданной координате y. Размер прямоугольника не изменяется.
См. также bottom(), setBottom() и moveTop().
void QRectF::moveBottomLeft(const QPointF &position)
Перемещает прямоугольник, оставляя нижнюю левую вершину в заданной точке position. Размер прямоугольника не изменяется.
См. также setBottomLeft(), moveBottom() и moveLeft().
void QRectF::moveBottomRight(const QPointF &position)
Перемещает прямоугольник, оставляя нижнюю правую вершину в заданной точке position. Размер прямоугольника не изменяется.
См. также setBottomRight(), moveBottom() и moveRight().
void QRectF::moveCenter(const QPointF &position)
Перемещает прямоугольник, оставляя центральную точку в заданной точке position. Размер прямоугольника не изменяется.
См. также center().
void QRectF::moveLeft(qreal x)
Перемещает прямоугольник по горизонтали, оставляя левую границу прямоугольника в заданной координате x. Размер прямоугольника не изменяется.
См. также left(), setLeft() и moveRight().
void QRectF::moveRight(qreal x)
Перемещает прямоугольник по горизонтали, оставляя правую границу прямоугольника в заданной координате x. Размер прямоугольника не изменяется.
См. также right(), setRight() и moveLeft().
void QRectF::moveTo(qreal x, qreal y)
Перемещает прямоугольник, оставляя верхнюю левую вершину в заданной позиции (x, y). Размер прямоугольника не изменяется.
См. также translate() и moveTopLeft().
void QRectF::moveTo(const QPointF &position)
Это перегруженный метод.
Перемещает прямоугольник, оставляя верхнюю левую вершину в заданной точке position.
void QRectF::moveTop(qreal y)
Перемещает прямоугольник по вертикали, оставляя верхнюю границу прямоугольника в заданной координате y. Размер прямоугольника не изменяется.
См. также top(), setTop() и moveBottom().
void QRectF::moveTopLeft(const QPointF &position)
Перемещает прямоугольник, оставляя верхнюю левую вершину в заданной точке position. Размер прямоугольника не изменяется.
См. также setTopLeft(), moveTop() и moveLeft().
void QRectF::moveTopRight(const QPointF &position)
Перемещает прямоугольник, оставляя верхнюю правую вершину в заданной точке position. Размер прямоугольника не изменяется.
См. также setTopRight(), moveTop() и moveRight().
QRectF QRectF::normalized() const
Возвращает нормализованный прямоугольник; т.е., прямоугольник с ненулевой шириной и высотой.
Если width() < 0, функция меняет местами левую и правую вершины, а если height() < 0, то меняет местами верхнюю и нижнюю вершины.
См. также isValid() и isEmpty().
qreal QRectF::right() const
Возвращает координату x правой границы прямоугольника.
См. также setRight(), topRight() и bottomRight().
void QRectF::setBottom(qreal y)
Устанавливает нижнюю границу прямоугольника в заданной координате y. Может изменить высоту, но никогда не изменит верхнюю границу прямоугольника.
См. также bottom() и moveBottom().
void QRectF::setBottomLeft(const QPointF &position)
Устанавливает нижнюю левую точку прямоугольника в заданную точку position. Может изменить размер, но никогда не изменит верхнюю правую точку прямоугольника.
См. также bottomLeft() и moveBottomLeft().
void QRectF::setBottomRight(const QPointF &position)
Устанавливает нижнюю правую точку прямоугольника в заданную точку position. Может изменить размер, но никогда не изменит верхнюю левую точку прямоугольника.
См. также bottomRight() и moveBottomRight().
void QRectF::setCoords(qreal x1, qreal y1, qreal x2, qreal y2)
Устанавливает координаты левого верхнего угла прямоугольника в (x1, y1), а координаты правого нижнего угла в (x2, y2).
См. также getCoords() и setRect().
void QRectF::setHeight(qreal height)
Устанавливает высоту прямоугольника в заданную height. Нижняя граница меняется, но не верхняя.
См. также height() и setSize().
void QRectF::setLeft(qreal x)
Устанавливает левую границу прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит правую границу прямоугольника.
Эквивалентно setX().
См. также left() и moveLeft().
void QRectF::setRect(qreal x, qreal y, qreal width, qreal height)
Устанавливает координаты левого верхнего угла прямоугольника в (x, y), а его размер в заданную width и height.
См. также getRect() и setCoords().
void QRectF::setRight(qreal x)
Устанавливает правую границу прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит левую границу прямоугольника.
См. также right() и moveRight().
void QRectF::setSize(const QSizeF &size)
Устанавливает размер прямоугольника в заданный size. Левый верхний угол не смещается.
См. также size(), setWidth(), и setHeight().
void QRectF::setTop(qreal y)
Устанавливает верхнюю границу прямоугольника в заданную координату y. Может изменить высоту, но никогда не изменит нижнюю границу прямоугольника.
Эквивалентно setY().
void QRectF::setTopLeft(const QPointF &position)
Устанавливает верхний левый угол прямоугольника в заданную точку position. Может изменить размер, но никогда не изменит нижний правый угол прямоугольника.
См. также topLeft() и moveTopLeft().
void QRectF::setTopRight(const QPointF &position)
Устанавливает верхний правый угол прямоугольника в заданную точку position. Может изменить размер, но никогда не изменит нижний левый угол прямоугольника.
См. также topRight() и moveTopRight().
void QRectF::setWidth(qreal width)
Устанавливает ширину прямоугольника в заданную width. Правая граница изменяется, но не левая.
См. также width() и setSize().
void QRectF::setX(qreal x)
Устанавливает левую границу прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит правую границу прямоугольника.
Эквивалентно setLeft().
См. также x(), setY() и setTopLeft().
void QRectF::setY(qreal y)
Устанавливает верхнюю границу прямоугольника в заданную координату y. Может изменить высоту, но никогда не изменит нижнюю границу прямоугольника.
Эквивалентно setTop().
См. также y(), setX() и setTopLeft().
QSizeF QRectF::size() const
Возвращает размер прямоугольника.
См. также setSize(), width() и height().
QRect QRectF::toAlignedRect() const
Возвращает QRect на основе значений этого прямоугольника, являющийся наименьшим возможным целочисленным прямоугольником, полностью содержащим этот прямоугольник.
Эта функция была добавлена в Qt 4.3.
См. также toRect().
QRect QRectF::toRect() const
Возвращает QRect на основе значений этого прямоугольника. Обратите внимание, что координаты в возвращаемом прямоугольнике округляются до ближайшего целого числа.
См. также QRectF() и toAlignedRect().
qreal QRectF::top() const
Возвращает y-координату верхней грани прямоугольника. Эквивалентно y().
См. также setTop(), topLeft() и topRight().
QPointF QRectF::topLeft() const
Возвращает позицию левого верхнего угла прямоугольника.
См. также setTopLeft(), top() и left().
QPointF QRectF::topRight() const
Возвращает позицию правого верхнего угла прямоугольника.
См. также setTopRight(), top() и right().
void QRectF::translate(qreal dx, qreal dy)
Перемещает прямоугольник на dx по оси x и dy по оси y относительно текущей позиции. Положительные значения перемещают прямоугольник вправо и вниз.
См. также moveTopLeft(), moveTo() и translated().
void QRectF::translate(const QPointF &offset)
Это перегруженная функция.
Перемещает прямоугольник на offset.x() по оси x и offset.y() по оси y относительно текущей позиции.
QRectF QRectF::translated(qreal dx, qreal dy) const
Возвращает копию прямоугольника, перемещённого на dx по оси x и dy по оси y относительно текущей позиции. Положительные значения перемещают прямоугольник вправо и вниз.
См. также translate().
QRectF QRectF::translated(const QPointF &offset) const
Это перегруженная функция.
Возвращает копию прямоугольника, перемещённого на offset.x() по оси x и offset.y() по оси y относительно текущей позиции.
QRectF QRectF::united(const QRectF &rectangle) const
Возвращает ограничивающий прямоугольник этого прямоугольника и заданного rectangle.
Эта функция была добавлена в Qt 4.2.
См. также intersected().
qreal QRectF::width() const
Возвращает ширину прямоугольника.
См. также setWidth(), height() и size().
qreal QRectF::x() const
Возвращает координату x левой стороны прямоугольника. Эквивалентно left().
См. также setX(), y() и topLeft().
qreal QRectF::y() const
Возвращает координату y верхней стороны прямоугольника. Эквивалентно top().
См. также setY(), x() и topLeft().
QRectF QRectF::operator&(const QRectF &rectangle) const
Возвращает пересечение этого прямоугольника и заданного rectangle. Возвращает пустой прямоугольник, если пересечения нет.
См. также operator&=() и intersected().
QRectF &QRectF::operator&=(const QRectF &rectangle)
Пересекает этот прямоугольник с заданным rectangle.
См. также intersected() и operator|=().
QRectF &QRectF::operator+=(const QMarginsF &margins)
Добавляет margins к прямоугольнику, расширяя его.
Эта функция была добавлена в Qt 5.3.
См. также marginsAdded(), marginsRemoved() и operator-=().
QRectF &QRectF::operator-=(const QMarginsF &margins)
Возвращает прямоугольник, уменьшенный на margins.
Эта функция была добавлена в Qt 5.3.
См. также marginsRemoved(), operator+=() и marginsAdded().
QRectF QRectF::operator|(const QRectF &rectangle) const
Возвращает ограничивающий прямоугольник этого прямоугольника и заданного rectangle.
См. также united() и operator|=().
QRectF &QRectF::operator|=(const QRectF &rectangle)
Объединяет этот прямоугольник с заданным rectangle.
См. также united() и operator|().
Связанные не члены
bool operator!=(const QRectF &r1, const QRectF &r2)
Возвращает true, если прямоугольники r1 и r2 разные, в противном случае возвращает false.
QRectF operator+(const QRectF &lhs, const QMarginsF &rhs)
Возвращает прямоугольник lhs, увеличенный на отступы rhs.
Эта функция была добавлена в Qt 5.3.
QRectF operator+(const QMarginsF &lhs, const QRectF &rhs)
Это перегруженная функция.
Возвращает прямоугольник lhs, увеличенный на отступы rhs.
Эта функция была добавлена в Qt 5.3.
QRectF operator-(const QRectF &lhs, const QMarginsF &rhs)
Возвращает прямоугольник lhs, увеличенный на отступы rhs.
Эта функция была добавлена в Qt 5.3.
QDataStream &operator<<(QDataStream &stream, const QRectF &rectangle)
Записывает rectangle в stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QRectF &r1, const QRectF &r2)
Возвращает true, если прямоугольники r1 и r2 равны, в противном случае возвращает false.
QDataStream &operator>>(QDataStream &stream, QRectF &rectangle)
Читает rectangle из stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qrectf.html