C

RectF 类

class Qul::PlatformInterface::RectF

The RectF class defines a rectangle in the plane using floating point precision. 更多...

头文件 #include <platforminterface/rect.h>
自从Qt Quick Ultralite (平台) 1.5

公共函数

RectF(const Qul::PlatformInterface::Rect &rectangle)
RectF(float x, float y, float width, float height)
RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::PointF &bottomRight)
RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::SizeF &size)
RectF()
voidadjust(float dx1, float dy1, float dx2, float dy2)
Qul::PlatformInterface::RectFadjusted(float dx1, float dy1, float dx2, float dy2) const
floatbottom() const
Qul::PlatformInterface::PointFbottomLeft() const
Qul::PlatformInterface::PointFbottomRight() const
Qul::PlatformInterface::PointFcenter() const
boolcontains(const Qul::PlatformInterface::RectF &rectangle) const
boolcontains(const Qul::PlatformInterface::PointF &point) const
boolcontains(float x, float y) const
voidgetCoords(float *x1, float *y1, float *x2, float *y2) const
voidgetRect(float *x, float *y, float *width, float *height) const
floatheight() const
Qul::PlatformInterface::RectFintersected(const Qul::PlatformInterface::RectF &rectangle) const
boolintersects(const Qul::PlatformInterface::RectF &rectangle) const
boolisEmpty() const
boolisNull() const
boolisValid() const
floatleft() const
voidmoveBottom(float y)
voidmoveBottomLeft(const Qul::PlatformInterface::PointF &position)
voidmoveBottomRight(const Qul::PlatformInterface::PointF &position)
voidmoveCenter(const Qul::PlatformInterface::PointF &position)
voidmoveLeft(float x)
voidmoveRight(float x)
voidmoveTo(float x, float y)
voidmoveTo(const Qul::PlatformInterface::PointF &position)
voidmoveTop(float y)
voidmoveTopLeft(const Qul::PlatformInterface::PointF &position)
voidmoveTopRight(const Qul::PlatformInterface::PointF &position)
Qul::PlatformInterface::RectFnormalized() const
floatright() const
voidsetBottom(float y)
voidsetBottomLeft(const Qul::PlatformInterface::PointF &position)
voidsetBottomRight(const Qul::PlatformInterface::PointF &position)
voidsetCoords(float x1, float y1, float x2, float y2)
voidsetHeight(float height)
voidsetLeft(float x)
voidsetRect(float x, float y, float width, float height)
voidsetRight(float x)
voidsetSize(const Qul::PlatformInterface::SizeF &size)
voidsetTop(float y)
voidsetTopLeft(const Qul::PlatformInterface::PointF &position)
voidsetTopRight(const Qul::PlatformInterface::PointF &position)
voidsetWidth(float width)
voidsetX(float x)
voidsetY(float y)
Qul::PlatformInterface::SizeFsize() const
Qul::PlatformInterface::RecttoAlignedRect() const
Qul::PlatformInterface::RecttoRect() const
floattop() const
Qul::PlatformInterface::PointFtopLeft() const
Qul::PlatformInterface::PointFtopRight() const
voidtranslate(float dx, float dy)
voidtranslate(const Qul::PlatformInterface::PointF &offset)
Qul::PlatformInterface::RectFtranslated(float dx, float dy) const
Qul::PlatformInterface::RectFtranslated(const Qul::PlatformInterface::PointF &offset) const
Qul::PlatformInterface::RectFtransposed() const
Qul::PlatformInterface::RectFunited(const Qul::PlatformInterface::RectF &rectangle) const
floatwidth() const
floatx() const
floaty() const
Qul::PlatformInterface::RectFoperator&(const Qul::PlatformInterface::RectF &rectangle) const
Qul::PlatformInterface::RectF &operator&=(const Qul::PlatformInterface::RectF &rectangle)
Qul::PlatformInterface::RectFoperator|(const Qul::PlatformInterface::RectF &rectangle) const
Qul::PlatformInterface::RectF &operator|=(const Qul::PlatformInterface::RectF &rectangle)
bool非成员operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)
booloperator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)

详细描述

矩形通常用顶点坐标和尺寸来表示。RectF 的尺寸(宽度和高度)始终等同于构成其渲染基础的数学矩形。

RectF 可以使用一组左、上、宽和高坐标构造,或者从一个 PointF 和一个 SizeF 构造。

还有一个第三个构造函数,从一个 Rect 创建一个 RectF,并有一个相应的 toRect() 函数,该函数根据这个矩形的值返回一个 Rect 对象(注意,返回矩形的坐标会被四舍五入到最近的整数)。

RectF 类提供了一组返回各种矩形坐标并使这些坐标可修改的函数。RectF 还提供了使矩形相对于各种坐标移动的函数。此外还有 moveTo() 函数,该函数移动矩形,使其左上角位于指定的坐标。或者,translate() 函数根据当前位置移动矩形,translated() 函数返回该矩形的平移副本。

size() 函数返回矩形的大小作为一个 SizeF。也可使用 width() 和 height() 函数单独检索尺寸。要修改尺寸,请使用 setSize()、setWidth() 或 setHeight() 函数。或者,可以通过设置矩形的坐标来更改尺寸,例如,使用 setBottom() 或 setRight() 函数。

contains() 函数指示特定点是否在矩形内,intersects() 函数如果此矩形与给定矩形相交(否则返回false),则返回 true。RectF 类还提供了 intersected() 函数,该函数返回交错的矩形,以及united() 函数,该函数返回包含给定矩形和此 intersected 的矩形。

isEmpty() 函数如果矩形的宽度或高度小于或等于0,则返回 true。注意,空矩形不是有效的:如果两者的宽度和高度都大于0,isValid() 函数返回 true。另一方面,null 矩形(isNull() == true)的宽度和高度都设置为0。

请注意,由于 Rect 和 RectF 的定义方式,空的 RectF 在本质上与 Rect 定义相同。

RectF 对象可以进行比较。

坐标

RectF类提供了一组返回各种矩形坐标并允许操作这些坐标的函数。RectF还提供了一组函数来相对各种坐标移动矩形。

例如:bottom(),setBottom() 和 moveBottom() 函数: bottom() 返回矩形底边的y坐标,setBottom() 将矩形的底边设置为给定的y坐标(可能改变高度,但永远不会改变矩形的顶部边)和 moveBottom() 将整个矩形垂直移动,使矩形的底边位于给定的y坐标,并保持大小不变。

还可以使用adjust() 函数为此矩形的坐标添加偏移量,以及使用 adjusted() 函数根据原始矩形的调整创建一个新的矩形。如果宽度和高度中的任何一个为负数,请使用normalized() 函数检索角落互换的矩形。

此外,RectF提供了getCoords() 函数,用于提取矩形左上角和右下角的位置,以及getRect() 函数,用于提取矩形的左上角、宽度和高度。使用setCoords() 和 setRect() 函数一次性操作矩形的坐标和维度。

另请参阅Rect

成员函数文档

RectF::RectF(const Qul::PlatformInterface::Rect &rectangle)

从给定的Rect rectangle 构造RectF矩形。

另请参阅toRect

RectF::RectF(float x, float y, float width, float height)

以 (xy)作为其右上角并具有给定的 widthheight 构造矩形。

另请参阅setRect

RectF::RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::PointF &bottomRight)

以给定的 topLeftbottomRight角落构造矩形。

另请参阅setTopLeft() 和 setBottomRight

RectF::RectF(const Qul::PlatformInterface::PointF &topLeft, const Qul::PlatformInterface::SizeF &size)

以给定的 topLeft角落和给定的 size 构造矩形。

另请参阅setTopLeft() 和 setSize

RectF::RectF()

构造一个空矩形。

另请参阅isNull

void RectF::adjust(float dx1, float dy1, float dx2, float dy2)

dx1dy1dx2dy2分别添加到矩形的现有坐标中。

另请参阅 adjusted()和setRect

Qul::PlatformInterface::RectF RectF::adjusted(float dx1, float dy1, float dx2, float dy2) const

返回一个新矩形,其中分别将dx1dy1dx2dy2添加到此矩形的现有坐标中。

另请参阅 adjust

float RectF::bottom() const

返回矩形底部边的y坐标。

另请参阅 setBottom()、bottomLeft()和bottomRight

Qul::PlatformInterface::PointF RectF::bottomLeft() const

返回矩形的左下角位置。

另请参阅 setBottomLeft()、bottom()和left

Qul::PlatformInterface::PointF RectF::bottomRight() const

返回矩形的右下角位置。

另请参阅 setBottomRight()、bottom()和right

Qul::PlatformInterface::PointF RectF::center() const

返回矩形的中心点。

另请参阅 moveCenter

bool RectF::contains(const Qul::PlatformInterface::RectF &rectangle) const

这是一个重载函数。

如果给定的rectangle在此矩形内部,则返回true;否则返回false

bool RectF::contains(const Qul::PlatformInterface::PointF &point) const

这是一个重载函数。

如果给定的point在矩形内部或其边缘上,则返回true;否则返回false

另请参阅 intersects

bool RectF::contains(float x, float y) const

这是一个重载函数。

如果点(xy)在矩形内部或其边缘上,则返回true;否则返回false

void RectF::getCoords(float *x1, float *y1, float *x2, float *y2) const

提取矩形左上角的位置到*x1*和*y1*,以及右下角的位置到*x2*和*y2*。

另见setCoords()和getRect

void RectF::getRect(float *x, float *y, float *width, float *height) const

提取矩形左上角的位置到*x*和*y*,以及其宽度和高度到*width*和*height*。

另见setRect()和getCoords

float RectF::height() const

返回矩形的宽度。

另见setHeight(),width()和size

Qul::PlatformInterface::RectF RectF::intersected(const Qul::PlatformInterface::RectF &rectangle) const

返回此矩形与给定矩形的交集。注意,r.intersected(s)与r & s等价。

另见intersects(),united()和operator &=

bool RectF::intersects(const Qul::PlatformInterface::RectF &rectangle) const

如果此矩形与给定矩形重叠(即将它们之间的非空区域),则返回true,否则返回false

可以使用intersected()函数检索交集矩形。

另见contains

bool RectF::isEmpty() const

如果矩形为空,则返回true,否则返回false

一个空的矩形具有width() <= 0 或 height() <= 0。一个空的矩形不是有效的(即 isEmpty() == !isValid())。)

使用normalized()函数可以检索一个角落对换的矩形。

另见isNull(),isValid()和normalized

bool RectF::isNull() const

如果矩形是空矩形,则返回true,否则返回false

空矩形将宽度和高度都设置为0。空矩形也是空的,因此不是有效的。

另见isEmpty()和isValid

bool RectF::isValid() const

如果矩形有效,则返回true,否则返回false

一个有效的矩形具有宽width() > 0 和高height() > 0。注意,对于无效矩形,非平凡操作(如交集)未定义。有效矩形不为空(即isValid() == !isEmpty())。

另请参阅isNull(),isEmpty()和normalized()。

float RectF::left() const

返回矩形的左边缘的x坐标。等同于x()。

另请参阅setLeft(),topLeft()和bottomLeft()。

void RectF::moveBottom(float y)

垂直移动矩形,使矩形的底部边缘位于给定的y坐标。矩形的尺寸不变。

另请参阅bottom(),setBottom()和moveTop()。

void RectF::moveBottomLeft(const Qul::PlatformInterface::PointF &position)

移动矩形,使矩形的左下角位于给定的position。矩形的尺寸不变。

另请参阅setBottomLeft(),moveBottom()和moveLeft()。

void RectF::moveBottomRight(const Qul::PlatformInterface::PointF &position)

移动矩形,使矩形的右下角位于给定的position。矩形的尺寸不变。

另请参阅setBottomRight(),moveBottom()和moveRight()。

void RectF::moveCenter(const Qul::PlatformInterface::PointF &position)

移动矩形,使矩形中心位于给定的position。矩形的尺寸不变。

另请参阅center()。

void RectF::moveLeft(float x)

水平移动矩形,使矩形的左边缘位于给定的x坐标。矩形的尺寸不变。

另请参阅left(),setLeft()和moveRight()。

void RectF::moveRight(float x)

水平移动矩形,使矩形的右边缘位于给定的x坐标。矩形的尺寸不变。

另请参阅right(),setRight()和moveLeft()。

void RectF::moveTo(float x, float y)

这是一个重载函数。

移动矩形,使左上角位于指定的位置(xy)。矩形的尺寸保持不变。

参阅translate() 和 moveTopLeft

void RectF::moveTo(const Qul::PlatformInterface::PointF &position)

这是一个重载函数。

移动矩形,使左上角位于指定的 位置

void RectF::moveTop(float y)

垂直移动矩形,使矩形的顶部边界位于给定的 y 坐标。矩形的尺寸保持不变。

参阅topsetTopmoveBottom

void RectF::moveTopLeft(const Qul::PlatformInterface::PointF &position)

移动矩形,使左上角位于指定的 位置。矩形的尺寸保持不变。

参阅setTopLeftmoveTopmoveLeft

void RectF::moveTopRight(const Qul::PlatformInterface::PointF &position)

移动矩形,使右上角位于指定的 位置。矩形的尺寸保持不变。

参阅setTopRightmoveTopmoveRight

Qul::PlatformInterface::RectF RectF::normalized() const

返回规范化矩形;即一个拥有非负宽度和高度的矩形。

如果 width() < 0,则函数交换左右边界,如果 height() < 0,则还交换上下边界。

参阅isValidisEmpty

返回矩形右边的 x 坐标。

参阅setRighttopRightbottomRight

void RectF::setBottom(float y)

将矩形的底部边缘设置为给定的 y 坐标。可能改变高度,但绝不会改变矩形的顶部边缘。

参阅bottommoveBottom

void RectF::setBottomLeft(const Qul::PlatformInterface::PointF &position)

将矩形的左下角设置为给定的 位置。可能改变大小,但绝不会改变矩形的右上角。

参阅bottomLeftmoveBottomLeft

void RectF::setBottomRight(const Qul::PlatformInterface::PointF &position)

将矩形的右下角设置为指定的position。可能会改变矩形的尺寸,但永远不会改变左上角。

另请参阅bottomRight() 和 moveBottomRight

void RectF::setCoords(float x1, float y1, float x2, float y2)

将矩形的左上角坐标设置为 (x1, y1),并将其右下角坐标设置为 (x2, y2)。

另请参阅getCoords() 和 setRect

void RectF::setHeight(float height)

将矩形的宽度设置为指定的height。将改变底部边缘,但不会改变顶部边缘。

另请参阅height() 和 setSize

void RectF::setLeft(float x)

将矩形的左边设置为给定的x坐标。可能会改变长宽,但永远不会改变右边。

等同于setX

另请参阅left() 和 moveLeft

void RectF::setRect(float x, float y, float width, float height)

将矩形的左上角坐标设置为 (x, y),并将其大小设置为给定的widthheight

另请参阅getRect() 和 setCoords

void RectF::setRight(float x)

将矩形的右边设置为给定的x坐标。可能会改变长宽,但永远不会改变左边。

另请参阅right() 和 moveRight

void RectF::setSize(const Qul::PlatformInterface::SizeF &size)

将矩形的大小设置为给定的size。左上角不会移动。

另请参阅sizesetWidthsetHeight

void RectF::setTop(float y)

将矩形的顶边设置为给定的y坐标。可能会改变高度,但永远不会改变底部边缘。

等同于setY

另请参阅top() 和 moveTop().

void RectF::setTopLeft(const Qul::PlatformInterface::PointF &position)

将矩形的左上角设置为指定的 position。可能改变大小,但绝不会改变矩形的右下角。

另请参阅topLeft() 和 moveTopLeft().

void RectF::setTopRight(const Qul::PlatformInterface::PointF &position)

将矩形的右上角设置为指定的 position。可能改变大小,但绝不会改变矩形的左下角。

另请参阅topRight() 和 moveTopRight().

void RectF::setWidth(float width)

将矩形的宽度设置为指定的 width。右边界会改变,但左边界不会。

另请参阅width() 和 setSize().

void RectF::setX(float x)

将矩形的左边设置为给定的x坐标。可能会改变长宽,但永远不会改变右边。

等同于 setLeft().

另请参阅x(),setY(),和 setTopLeft().

void RectF::setY(float y)

将矩形的顶边设置为给定的y坐标。可能会改变高度,但永远不会改变底部边缘。

等同于 setTop().

另请参阅y(),setX(),和 setTopLeft().

Qul::PlatformInterface::SizeF RectF::size() const

返回矩形的尺寸。

另请参阅setSize(),width(),和 height().

Qul::PlatformInterface::Rect RectF::toAlignedRect() const

根据本矩形的值返回一个 Rect,这是包含此矩形的可能的最小整数矩形。

另请参阅toRect

Qul::PlatformInterface::Rect RectF::toRect() const

根据本矩形的值返回一个 Rect。注意返回矩形中的坐标会被四舍五入到最接近的整数。

另请参阅RectF() 和 toAlignedRect().

float RectF::top() const

返回矩形顶部边界的 y 坐标。等同于 y().

另请参阅setTop(),topLeft(),和 topRight().

Qul::PlatformInterface::PointF RectF::topLeft() const

返回矩形左上角的位置。

另请参阅 setTopLeft(),top() 以及 left()。

Qul::PlatformInterface::PointF RectF::topRight() const

返回矩形的右上角位置。

另请参阅 setTopRight(),top() 以及 right()。

void RectF::translate(float dx, float dy)

这是一个重载函数。

相对于当前位置沿 x 轴移动矩形的 dx,沿 y 轴移动矩形的 dy。正值将矩形向右下方移动。

另请参阅 moveTopLeft(),moveTo() 以及 translated()。

void RectF::translate(const Qul::PlatformInterface::PointF &offset)

这是一个重载函数。

将矩形沿 x 轴和 y 轴移至 offset 的位置。

Qul::PlatformInterface::RectF RectF::translated(float dx, float dy) const

这是一个重载函数。

返回一个新的矩形副本,其沿 x 轴和 y 轴移动 dxdy,相对于当前位置。正值将矩形向右下方移动。

另请参阅 translate()。

Qul::PlatformInterface::RectF RectF::translated(const Qul::PlatformInterface::PointF &offset) const

这是一个重载函数。

返回一个新的矩形副本,其沿 x 轴和 y 轴移动 offset 的位置。

Qul::PlatformInterface::RectF RectF::transposed() const

返回一个新矩形副本,其宽度和高度已交换。

另请参阅 SizeF::transposed()。

Qul::PlatformInterface::RectF RectF::united(const Qul::PlatformInterface::RectF &rectangle) const

返回此矩形与给定 rectangle 的包容矩形。

另请参阅 intersected()。

float RectF::width() const

返回矩形的宽度。

另请参阅 setWidth(),height() 以及 size()。

float RectF::x() const

返回矩形左侧的x坐标。等同于 left().

另请参阅setX(),y() 和 topLeft().

float RectF::y() const

返回矩形顶端的y坐标。等同于 top().

另请参阅setY(),x() 和 topLeft().

Qul::PlatformInterface::RectF RectF::operator&(const Qul::PlatformInterface::RectF &rectangle) const

返回此矩形和给定rectangle的交集。如果没有交集,返回空矩形。

另请参阅operator&=() 和 intersected().

Qul::PlatformInterface::RectF &RectF::operator&=(const Qul::PlatformInterface::RectF &rectangle)

与此矩形相交rectangle

另请参阅intersected() 和 operator|().

Qul::PlatformInterface::RectF RectF::operator|(const Qul::PlatformInterface::RectF &rectangle) const

返回此矩形与给定 rectangle 的包容矩形。

另请参阅united() 和 operator|().

Qul::PlatformInterface::RectF &RectF::operator|=(const Qul::PlatformInterface::RectF &rectangle)

与此矩形联接给定的rectangle

另请参阅united() 和 operator|().

相关非成员函数

bool operator!=(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)

如果矩形r1r2不同,则返回true,否则返回false

bool operator==(const Qul::PlatformInterface::RectF &r1, const Qul::PlatformInterface::RectF &r2)

如果矩形r1r2相等,则返回true,否则返回false

适用于某些Qt许可证。
了解更多信息。