Описание класса QRectF
|
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 ( qreal x, qreal y ) const |
bool | contains ( const QRectF & rectangle ) 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 |
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 | width () const |
qreal | x () const |
qreal | y () const |
QRectF | operator& ( const QRectF & rectangle ) const |
QRectF & | operator&= ( const QRectF & rectangle ) |
QRectF | operator| ( const QRectF & rectangle ) const |
QRectF & | operator|= ( const QRectF & rectangle ) |
bool | operator!= ( const QRectF & r1, const QRectF & r2 ) |
QDataStream & | operator<< ( QDataStream & stream, const QRectF & rectangle ) |
bool | operator== ( const QRectF & r1, const QRectF & r2 ) |
QDataStream & | operator>> ( QDataStream & stream, QRectF & rectangle ) |
Класс QRectF прямоугольник точку на плоскости, используя точность плавающей точкой.
Обычно прямоугольник выражается через верхний левый угол и размер. Размер (ширина и высота) QRectF'а всегда эквивалентен математическому прямоугольнику, который формирует основу для его рисования.
QRectF может быть сконструирован с помощью задания целых координат left, top, width и height, или из 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. Размеры могут быть так же получены раздельно, используя функции width() и height(). Для работы с размерами используются функции 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 может быть выведен в поток так же просто как и сравниваться.
Когда используется рисовальщик (painter) со сглаживанием, граничная линия QRectF будет отрисована симметрично по обоим сторонам граничной линии математического прямоугольника. Но, когда используется не сглаженный рисовальщик(по умолчанию) применяются другие правила.
Затем, когда отрисовка осуществляется с помощью карандаша шириной в один пиксель, граница QRectF'а будет отрисовываться правее и ниже границы математического прямоугольника.
Когда отрисовка осуществляется с помощью карандаша шириной в два пикселя, грница будет разделена по середине математическим прямоугольником. Это будет иметь место всякий раз, когда карандаш установлен в четное число пикселей, в то время как рисование с помощью карандаша с нечёетным количеством пикселей, дополнительный пиксель будет рисоваться правее и ниже границы математического прямоугольника, как в случае с одним пикселем.
Логическое представление | Перо шириной в один пиксель |
Перо шириной в два пикселя | Перо шириной в три пикселя |
Класс QRectF предоставляет коллекцию функций, которые возвращают различные координаты прямоугольника, и позволяют манипулировать им. QRectF также предоставляет функции, чтобы перемещать прямоугольник относительно различных координат.
Например, функции bottom(), setBottom() и moveBottom(): bottom() возвращает Y-координату нижнего края прямоугольника, setBottom() устанавливает нижний край прямоугольника в заданную Y-координату (она может изменить высоту, но никогда не изменит верхний край прямоугольника) и moveBottom() перемещает весь прямоугольник вертикально, перенося нижний край прямоугольника в заданную Y-координату, а его размер не изменяется.
Также возможно добавить смещение к координатам этого прямоугольника, используя функцию adjust(), также как и получить новый прямоугольник основанный на корректировке оригинального, используя функцию adjusted(). Если ширина и/или высота отрицательны, то используйте функцию normalized(), чтобы получить прямоугольник, у которого углы поменяны местами.
В дополнение, QRectF предоставляет функцию getCoords(), которая извлекает позицию верхнего левого и нижнего правого углов прямоугольника, и функцию getRect(), которая извлекает верхний левый угол, ширину и высоту. Используйте функции setCoords() и setRect(), чтобы работать с координатами и размерами прямоугольника в одном ключе.
Смотрите также QRect и QRegion.
Конструирует пустой прямоугольник.
Смотрите также isNull().
Конструирует прямоугольник с заданным углом topLeft и заданным размеромsize.
Смотрите также setTopLeft() и setSize().
Конструирует прямоугольник с заданными углами topLeft и bottomRight.
Эта функция была введена в Qt 4.3.
Смотрите также setTopLeft() и setBottomRight().
Конструирует прямоугольник с координатами (x, y), в качестве его верхнего левого угла и заданными шириной (width) и высотой (height).
Смотрите также setRect().
Конструирует прямоугольник QRectF из заданного QRect прямоугольника rectangle.
Смотрите также toRect().
Добавляет dx1, dy1, dx2 и dy2 к имеющимся координатам прямоугольника, соответственно.
Смотрите также adjusted() и setRect().
Возвращает новый прямоугольник с dx1, dy1, dx2 и dy2 добавленными к имеющимся координатам прямоугольника, соответственно.
Смотрите также adjust().
Возвращает Y-координату нижнего края прямоугольника.
Смотрите также setBottom(), bottomLeft() и bottomRight().
Возвращает позицию нижнего левого угла прямоугольника.
Смотрите также setBottomLeft(), bottom() и left().
Возвращает позицию нижнего правого угла прямоугольника.
Смотрите также setBottomRight(), bottom() и right().
Возвращает центральную точку прямоугольника.
Смотрите также moveCenter().
Возвращает true, если заданная точка point находится внутри или на краю прямоугольника; в противном случае возвращает false.
Смотрите также intersects().
Это перегруженная функция.
Возвращает true, если точка (x, y) находится внутри или на краю прямоугольника; в противном случае возвращает false.
Это перегруженная функция.
Возвращает true, если заданный прямоугольник rectangle находится внутри этого прямоугольника; в противном случае возвращает false.
Извлекает позицию верхнего левого угла прямоугольника в *x1 и *y1, и позицию нижнего правого угла в *x2 и *y2.
Смотрите также setCoords() и getRect().
Извлекает позицию верхнего левого угла прямоугольника в *x и *y, и его размеры в *width и *height.
Смотрите также setRect() и getCoords().
Возвращает высоту прямоугольника.
Смотрите также setHeight(), width() и size().
Возвращает пересечение этого прямоугольника и заданного прямоугольника rectangle. Заметьте, что r.intersected(s) эквивалентно r & s.
Эта функция была введена в Qt 4.2.
Смотрите также intersects(), united() и operator&=().
Возвращает true, если этот прямоугольник пересекается с заданным прямоугольником rectangle (т.е. существует не пустая область перекрытия между ними), в противном случае возвращает false.
Прямоугольник пересечения может быть получен, используя функцию intersected().
Смотрите также contains().
Возвращает true, если прямоугольник пустой; в противном случае возвращает false.
Пустой прямоугольник имеет width() <= 0 или height() <= 0. Пустой прямоугольник не является действительным (i.e., isEmpty() == !isValid()).
Используйте функцию normalized(), чтобы получить прямоугольник, у которого углы поменяны местами.
Смотрите также isNull(), isValid() и normalized().
Возвращает true, если прямоугольник нулевой, в противном случае возвращает false.
Нулевой прямоугольник имеет и ширину и высоту установленные в 0. Нулевой прямоугольник также является пустым, и, следовательно, недействительным.
Смотрите также isEmpty() и isValid().
Возвращает true, если прямоугольник действительный; в противном случае возвращает false.
Действительный прямоугольник имеет width() > 0 и height() > 0. Заметьте, что нетривиальные операции подобные пересечению не определены для недействительных прямоугольников. Действительный прямоугольник - не пустой (т.е. isValid() == !isEmpty()).
Смотрите также isNull(), isEmpty() и normalized().
Возвращает X-координату левого края прямоугольника. Эквивалентно x().
Смотрите также setLeft(), topLeft() и bottomLeft().
Перемещает прямоугольник вертикально, перенося нижний край прямоугольника в заданную координату y. Размер прямоугольника не изменяется.
Смотрите также bottom(), setBottom() и moveTop().
Перемещает прямоугольник, перенося нижний левый угол в заданную позицию position. Размер прямоугольника не изменяется.
Смотрите также setBottomLeft(), moveBottom() и moveLeft().
Перемещает прямоугольник, перенося нижний правый угол в заданную позицию position. Размер прямоугольника не изменяется.
Смотрите также setBottomRight(), moveBottom() и moveRight().
Перемещает прямоугольник, перенося нижний левый угол в заданную позицию position. Размер прямоугольника не изменяется.
Смотрите также center().
Перемещает прямоугольник горизонтально, перенося левый край прямоугольника в заданную координату x. Размер прямоугольника не изменяется.
Смотрите также left(), setLeft() и moveRight().
Перемещает прямоугольник горизонтально, перенося правый край прямоугольника в заданную координату x. Размер прямоугольника не изменяется.
Смотрите также right(), setRight() и moveLeft().
Перемещает прямоугольник, перенося верхний левый угол в заданную позицию (x, y). Размер прямоугольника не изменяется.
Смотрите также translate() и moveTopLeft().
Это перегруженная функция.
Перемещает прямоугольник, перенося верхний левый угол в заданную позицию position.
Перемещает прямоугольник вертикально, перенося верхний край прямоугольника в заданную координату y. Размер прямоугольника не изменяется.
Смотрите также top(), setTop() и moveBottom().
Перемещает прямоугольник, перенося верхний левый угол в заданную позицию position. Размер прямоугольника не изменяется.
Смотрите также setTopLeft(), moveTop() и moveLeft().
Перемещает прямоугольник, перенося верхний правый угол в заданную позицию position. Размер прямоугольника не изменяется.
Смотрите также setTopRight(), moveTop() и moveRight().
Возвращает нормализованный прямоугольник; т.е. прямоугольник, который имеет неотрицательную ширину и высоту.
Если width() < 0 функция меняет местами левый и правый углы, и она меняет местами верхний и нижний углы, если height() < 0.
Смотрите также isValid() и isEmpty().
Возвращает X-координату правого края прямоугольника.
Смотрите также setRight(), topRight() и bottomRight().
Устанавливает нижний край прямоугольника в заданную координату y. Может изменить высоту, но никогда не изменит верхний край прямоугольника.
Смотрите также bottom() и moveBottom().
Устанавливает нижний левый угол прямоугольника в заданную позицию position. Может изменить размер, но никогда не изменит верхний правый угол прямоугольника.
Смотрите также bottomLeft() и moveBottomLeft().
Устанавливает нижний правый угол прямоугольника в заданную позицию position. Может изменить размер, но никогда не изменит верхний левый угол прямоугольника.
Смотрите также bottomRight() и moveBottomRight().
Устанавливает координаты верхнего левого угла прямоугольника в (x1, y1), и координаты нижнего правого угла в (x2, y2).
Смотрите также getCoords() и setRect().
Устанавливает высоту прямоугольника в заданную высоту height. Нижний край изменяется, а верхний нет.
Смотрите также height() и setSize().
Устанавливает левый край прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит правый край прямоугольника.
Эквивалентно setX().
Смотрите также left() и moveLeft().
Устанавливает координаты верхнего левого угла прямоугольника в (x, y), и его размер в заданные width и height.
Смотрите также getRect() и setCoords().
Устанавливает правый край прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит левый край прямоугольника.
Смотрите также right() и moveRight().
Устанавливает размер прямоугольника в заданный размер size. Верхний левый угол не перемещается.
Смотрите также size(), setWidth() и setHeight().
Устанавливает верхний край прямоугольника в заданную координату y. Может изменить высоту, но никогда не изменит нижний край прямоугольника.
Эквивалентно setY().
Смотрите также top() и moveTop().
Устанавливает верхний левый угол прямоугольника в заданную позицию position. Может изменить размер, но никогда не изменит нижний правый угол прямоугольника.
Смотрите также topLeft() и moveTopLeft().
Устанавливает верхний правый угол прямоугольника в заданную позицию position. Может изменить размер, но никогда не изменит нижний левый угол прямоугольника.
Смотрите также topRight() и moveTopRight().
Устанавливает ширину прямоугольника в заданную ширину width. Правый край изменяется, а левый нет.
Смотрите также width() и setSize().
Устанавливает левый край прямоугольника в заданную координату x. Может изменить ширину, но никогда не изменит правый край прямоугольника.
Эквивалентно setLeft().
Смотрите также x(), setY() и setTopLeft().
Устанавливает верхний край прямоугольника в заданную координату y. Может изменить высоту, но никогда не изменит нижний край прямоугольника.
Эквивалентно setTop().
Смотрите также y(), setX() и setTopLeft().
Возвращает размер прямоугольника.
Смотрите также setSize(), width() и height().
Возвращает QRect, основанный на значениях этого прямоугольника, являющийся наименьшим возможным целочисленным прямоугольником, который полностью содержит этот прямоугольник.
Эта функция была введена в Qt 4.3.
Смотрите также toRect().
Возвращает QRect, основанный на значениях этого прямоугольника. Заметьте, что координаты в возвращаемом прямоугольнике будут округлены до ближайшего целого.
Смотрите также QRectF() и toAlignedRect().
Возвращает Y-координату верхнего края прямоугольника. Эквивалентно y().
Смотрите также setTop(), topLeft() и topRight().
Возвращает позицию верхнего левого угла прямоугольника.
Смотрите также setTopLeft(), top() и left().
Возвращает позицию верхнего правого угла прямоугольника.
Смотрите также setTopRight(), top() и right().
Перемещает прямоугольник на dx вдоль оси X и на dy вдоль оси Y, относительно текущей позиции. Положительные значения перемещают прямоугольник вправо и вниз.
Смотрите также moveTopLeft(), moveTo() и translated().
Это перегруженная функция.
Перемещает прямоугольник на offset.x() вдоль оси X и на offset.y() вдоль оси Y, относительно текущей позиции.
Возвращает копию прямоугольника, которая сдвинута (translated) на dx вдоль оси X и на dy вдоль оси Y, относительно текущей позиции. Положительные значения перемещают прямоугольник вправо и вниз.
Смотрите также translate().
Это перегруженная функция.
Возвращает копию прямоугольника, которая сдвинута (translated) на offset.x() вдоль оси X и на offset.y() вдоль оси Y, относительно текущей позиции.
Возвращает охватывающий прямоугольник этого прямоугольника и заданного прямоугольника rectangle.
Эта функция была введена в Qt 4.2.
Смотрите также intersected().
Возвращает ширину прямоугольника.
Смотрите также setWidth(), height() и size().
Возвращает X-координату левого края прямоугольника. Эквивалентно left().
Смотрите также setX(), y() и topLeft().
Возвращает Y-координату верхнего края прямоугольника. Эквивалентно top().
Смотрите также setY(), x() и topLeft().
Возвращает пересечение этого прямоугольника и заданного прямоугольника rectangle. Возвращает пустой прямоугольник, если пересечения не существует.
Смотрите также operator&=() и intersected().
Пересечение этого прямоугольника с заданным прямоугольником rectangle.
Смотрите также intersected() и operator|=().
Возвращает охватывающий прямоугольник этого прямоугольника и заданного прямоугольника rectangle.
Смотрите также united() и operator|=().
Объединение этого прямоугольника с заданным прямоугольником rectangle.
Смотрите также united() и operator|().
Возвращает true, если прямоугольники r1 и r2 отличаются, в противном случае возвращает false.
Записывает прямоугольник rectangle в поток stream и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Возвращает true, если прямоугольники r1 и r2 равны, в противном случае возвращает false.
Читает прямоугольник rectangle из потока stream, и возвращает ссылку на поток.
Смотрите также Формат операторов QDataStream.
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |