- class QRectF#
QRectF类定义了一个浮点数精度的平面上的有限矩形。更多…概述#
方法#
def
__init__()def
__reduce__()def
__repr__()def
adjust()def
adjusted()def
bottom()def
bottomLeft()def
bottomRight()def
center()def
contains()def
getCoords()def
getRect()定义
height()定义
intersects()定义
isEmpty()定义
isNull()定义
isValid()定义
left()定义
moveBottom()定义
moveCenter()定义
moveLeft()定义
moveRight()定义
moveTo()定义
moveTop()定义
normalized()定义
__ne__()定义
__and__()定义
__iand__()定义
__add__()定义
__iadd__()定义
__sub__()定义
__isub__()定义
__eq__()定义
__or__()定义
__ior__()定义
right()定义
setBottom()定义
setCoords()定义
setHeight()定义
setLeft()定义
setRect()定义
setRight()定义
setSize()定义
setTop()定义
setTopLeft()定义
setWidth()定义
setX()定义
setY()定义
size()定义
toRect()定义
top()定义
topLeft()定义
topRight()定义
translate()定义
translated()定义
transposed()定义
united()定义
width()定义
x()定义
y()
注意
此文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您看到翻译中存在问题,也可以通过创建 https:/bugreports.qt.io/projects/PYSIDE 上的工单来通知我们。
详细说明#
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能出现错误。
矩形通常以左上角和大小来表示。《QRectF》的大小(宽度和高度)始终等于其渲染的基础数学矩形。
《QRectF》可以用一组左、上、宽和高坐标来构造,或从《QPointF》和《QSizeF》构造。以下代码创建了两个相同的矩形。
r1 = QRectF(100.0, 200.1, 11.2, 16.3) r2 = QRectF(QPointF(100.0, 200.1), QSizeF(11.2, 16.3))
还有一个第三个构造函数可以从《QRect》创建一个《QRectF》,以及相应的《toRect()`》函数,该函数根据此矩形(请注意,返回矩形的坐标四舍五入到最接近的整数)的值返回一个《QRect》对象。
QRectF类提供了一组函数,用于返回各种矩形坐标,并能够对这些坐标进行操作。QRectF还提供了一组函数,用于根据不同坐标移动矩形。此外,还有一个moveTo()函数,用于移动矩形,使其左上角位于指定的坐标上。或者,translate()函数将矩形移动到当前位置偏移量的位置,而translated()函数则返回一个移动过的矩形副本。size()函数返回矩形的维度的QSizeF对象。这些维度也可以通过width()和height()函数单独获取。要操作这些维度,可以使用setSize(),setWidth()或setHeight()函数。或者,也可以通过应用设置矩形坐标的函数来改变大小,例如,使用setBottom()或setRight()函数。contains()函数用于判断给定点是否在矩形内部,而intersects()函数如果此矩形与给定矩形相交则返回true(否则返回 false)。QRectF类还提供了一个intersected()函数,用于返回交集矩形,以及一个united()函数,用于返回包含给定矩形和该相交矩形的矩形。isEmpty()函数返回true,如果矩形的宽度或高度小于或等于0。注意,空矩形不是有效的:如果宽度和高度都大于0,则isValid()函数返回true。另一方面,如果宽度等于高度都设置为0,则表示空矩形。由于
QRect和QRectF的定义方式相同,空QRectF在本质上与QRect相同。QRectF对象可以进行流操作,也可以进行比较。渲染
使用抗锯齿绘图笔时,
QRectF的边界将在数学矩形边界线的两侧对称地渲染。但使用带有锯齿的绘图笔(默认)时,将应用其他规则。然后,当使用1像素宽的笔进行渲染时,
QRectF的边界线将渲染在数学矩形边界线的右侧和下方。当使用2像素宽的笔进行渲染时,边界线会在数学矩形中间分开。当笔的宽度设置为偶数像素时,就会发生这种情况,而当使用奇数像素宽的笔时,空余的像素将像1像素宽的笔一样渲染在数学矩形的右侧和下方。


逻辑表示
1像素宽的笔


2像素宽的笔
3像素宽的笔
坐标
QRectF类提供了一系列返回各种矩形坐标的函数,并允许对这些坐标进行操作。QRectF还提供了移动矩形相对于各种坐标的函数。例如:
bottom(),setBottom()和moveBottom()函数:bottom()返回矩形底边的 y 坐标,setBottom()将矩形的底边设置为指定的 y 坐标(它可能会改变高度,但不会改变矩形的顶边),moveBottom()将整个矩形垂直移动,使得矩形的底边位于指定的 y 坐标,且大小保持不变。
还可以使用
adjust()函数为此矩形的坐标添加偏移量,以及使用adjusted()函数基于原始矩形的调整获取新的矩形。如果宽度和高度中任意一个为负数,请使用normalized()函数来获取一个角落已交换的矩形。此外,
QRectF提供了getCoords()函数,该函数提取矩形的右上角和左下角的坐标,以及getRect()函数,该函数提取矩形的左上角、宽度和高度。使用setCoords()和setRect()函数一次性操作矩形的坐标和尺寸。使用给定的
topLeft和bottomRight角构造矩形。- __init__()
构造一个空矩形。
另请参阅
- __init__(left, top, width, height)
- 参数:
left – float
top – float
width – float
height – float
使用(
x,y)作为其左上角以及给定的width和height构造矩形。所有参数都必须是有限数。另请参阅
使用给定的
topLeft角和给定的size构造矩形。另请参阅
- __init__(rect)
- 参数:
rect –
QRect
- __reduce__()#
- 返回类型:
object
- __repr__()#
- 返回类型:
object
- adjust(x1, y1, x2, y2)#
- 参数:
x1 – 浮点数
y1 – 浮点数
x2 – 浮点数
y2 – 浮点数
将
dx1、dy1、dx2和dy2分别加到矩形的现有坐标上。所有参数必须是有限的。另请参阅
返回一个新的矩形,其
dx1、dy1、dx2和dy2分别添加到现有坐标上。所有参数必须是有限的。另请参阅
- bottom()#
- 返回类型:
float
返回矩形底边的 y 坐标。
返回矩形左下角的位置。
返回矩形右下角的位置。
返回矩形的中心点。
另请参阅
这是一个重载函数。
如果给定的矩形在此矩形内部,则返回
true;否则返回false。- contains(x, y)
- 参数:
x – float
y – float
- 返回类型:
bool
这是一个重载函数。
如果点
(<x>, <y>) 在矩形内部或在边缘上,则返回true;否则返回false。- contains(p)
- 参数:
p –
QPointF- 返回类型:
bool
如果给定的点在此矩形内部或在边缘上,则返回
true;否则返回false。另请参阅
- getCoords()#
- 返回类型:
PyObject
提取矩形左上角的位置到 *`x1` 和 *`y1`,以及右下角的位置到 *`x2` 和 *`y2`。
另请参阅
- getRect()#
- 返回类型:
PyObject
提取矩形左上角的位置到 *`x` 和 *`y`,以及其尺寸到 *`width` 和 *`height`。
另请参阅
- height()#
- 返回类型:
float
返回矩形的宽度。
另请参阅
返回此矩形与给定
rectangle的交集。请注意,r.intersected(s)与r & s等价。
另请参阅
intersects()united()operator&=()如果此矩形与给定
rectangle交集(即它们之间有一个非空的交集面积),则返回true,否则返回false。可以使用
intersected()函数检索交集矩形。另请参阅
- isEmpty()#
- 返回类型:
bool
如果矩形为空,则返回
true,否则返回false。一个空的矩形具有
width()<= 0 或height()<= 0。空的矩形不是有效的(即 isEmpty() == !isValid())。使用
normalized()函数检索一个角落已交换的矩形。- isNull()#
- 返回类型:
bool
如果矩形为空矩形,则返回
true,否则返回false。空矩形宽度和高度都设置为 0。空矩形也是空的,因此不有效。
- isValid()#
- 返回类型:
bool
如果矩形有效,则返回
true,否则返回false。有效的矩形其宽度 width() > 0 初始密度 height() > 0。请注意,对于无效矩形,不规范的操作(例如交集)是没有定义的。有效矩形不为空(即,isValid() == ! isEmpty() )。
另请参阅
isNull() isEmpty()
- left()#
- 返回类型:
float
返回矩形左侧的坐标 x。相当于
x()。返回通过
margins增长的矩形。另请参阅
operator+=()marginsRemoved()operator-=()删除形状边框与矩形的外边距,使矩形变小。
另请参阅
marginsAdded()operator+=()operator-=()- moveBottom(pos)#
- 参数:
pos - 浮点型
沿垂直方向移动矩形,使矩形的底部边缘达到指定的有限
y坐标。矩形的大小不改变。另请参阅
移动矩形,使矩形的左下角位于指定的
位置。矩形的尺寸保持不变。移动矩形,使矩形的右下角位于指定的
位置。矩形的尺寸不改变。移动矩形,使矩形的中心点位于指定的
位置。矩形的尺寸不改变。另请参阅
- moveLeft(pos)#
- 参数:
pos - 浮点型
沿水平方向移动矩形,使矩形的左侧边缘达到指定的有限
x坐标。矩形的尺寸不改变。另请参阅
- moveRight(pos)#
- 参数:
pos - 浮点型
水平移动矩形,使矩形的右边缘位于指定的有限
x坐标。矩形的尺寸保持不变。另请参阅
这是一个重载函数。
移动矩形,使矩形的左上角位于指定的
位置。- moveTo(x, y)
- 参数:
x – float
y – float
移动矩形,使矩形的左上角位于给定的位置(
x,y)。矩形的尺寸不变。两个参数都必须是有限的。另请参阅
- moveTop(pos)#
- 参数:
pos - 浮点型
垂直移动矩形,使矩形的上边缘位于指定的有限
y坐标。矩形的尺寸保持不变。另请参阅
移动矩形,使矩形的左上角位于指定
位置。矩形的尺寸保持不变。将矩形移动,保留顶右角为指定的
位置。矩形的尺寸不变。返回一个规范化的矩形;即一个非负宽度和高度的矩形。
如果
width()< 0,函数将左和右角颠倒,如果height()< 0,则它还将顶部和底部角度颠倒。如果矩形
r1和r2差异足够大,则返回true,否则返回false。警告
此函数不检查严格不等式;相反,它使用模糊比较来比较矩形的坐标。
返回此矩形与给定
rectangle的交集。如果没有交集,则返回空矩形。另请参阅
operator&=()intersected()与此矩形相交于给定的
rectangle。另请参阅
intersected()operator&()这是一个重载函数。
返回通过
rhs边距扩展的lhs矩形。返回通过
rhs边距扩展的lhs矩形。将
margins添加到矩形,扩大它。另请参阅
marginsAdded()marginsRemoved()operator-=()返回通过
rhs边距缩小的lhs矩形。返回一个通过
margins缩小的矩形。另请参阅
marginsRemoved()operator+=()marginsAdded()如果矩形
r1和r2大致相等,则返回true,否则返回false。警告
此函数不检查严格相等性;相反,它使用模糊比较来比较矩形的坐标。
另请参阅
qFuzzyCompare返回此矩形和给定矩形
rectangle的边界矩形。另请参阅
united()operator|=()将此矩形与给定的
rectangle合并。另请参阅
united()运算符|()- right()#
- 返回类型:
float
返回矩形右侧边的 x 坐标。
- setBottom(pos)#
- 参数:
pos - 浮点型
将矩形的下边沿设置给定的有限
y坐标。可能会更改高度,但永远不会改变矩形的顶边。另请参阅
将矩形的左下角设置给定的
位置。可能会更改大小,但永远不会更改矩形的右上角。将矩形的右下角设置给定的
位置。可能会更改大小,但永远不会更改矩形的左上角。- setCoords(x1, y1, x2, y2)#
- 参数:
x1 – 浮点数
y1 – 浮点数
x2 – 浮点数
y2 – 浮点数
将矩形的左上角坐标设置为 (
x1,y1),并将矩形的右下角坐标设置为 (x2,y2)。所有参数都必须是有限的。另请参阅
- setHeight(h)#
- 参数:
h – float
将矩形的宽度设置为给定的有界
高度。底部边缘会改变,但顶部边缘不会改变。- setLeft(pos)#
- 参数:
pos - 浮点型
将矩形的左侧边界设置为给定的有界
x坐标。可能会改变宽度,但永远不会改变矩形的右侧边界。等同于
setX().另请参阅
- setRect(x, y, w, h)#
- 参数:
x – float
y – float
w – float
h – float
将矩形左上角的坐标设置为 (
x,y),并将大小设置为给定的宽和高。所有参数必须是有界的。另请参阅
- setRight(pos)#
- 参数:
pos - 浮点型
将矩形的右侧边界设置为给定的有界
x坐标。可能会改变宽度,但永远不会改变矩形的左侧边界。另请参阅
将矩形的尺寸设置为给定的有限
size。左上角不移动。另请参阅
- setTop(pos)#
- 参数:
pos - 浮点型
将矩形的顶边设置为给定的有限
y坐标。可能会改变高度,但绝不会改变矩形的底边。相当于
setY()。将矩形的左上角设置到给定的
位置。可能会改变大小,但绝不会改变矩形的右下角。另请参阅
将矩形的右上角设置到给定的
位置。可能会改变大小,但绝不会改变矩形的左下角。另请参阅
- setWidth(w)#
- 参数:
w – float
将矩形的宽度设置为给定的有限
width。更改右侧边,但不会更改左侧边。- setX(pos)#
- 参数:
pos - 浮点型
将矩形的左侧边界设置为给定的有界
x坐标。可能会改变宽度,但永远不会改变矩形的右侧边界。等于
setLeft().另请参阅
- setY(pos#
- 参数:
pos - 浮点型
将矩形的顶边设置为给定的有限
y坐标。可能会改变高度,但绝不会改变矩形的底边。等于
setTop().另请参阅
返回矩形的尺寸。
返回一个基于本矩形值的
QRect,它是包含本矩形的可能的最小整数矩形。另请参阅
返回一个基于本矩形值的
QRect。注意,返回矩形中的坐标已被四舍五入到最接近的整数。另请参阅
QRectF()toAlignedRect()toRectF()- top(#
- 返回类型:
float
返回矩形顶部边缘的 y 坐标。等于
y().另请参阅
返回矩形左上角的位置。
另请参阅
返回矩形右上角的位置。
另请参阅
这是一个重载函数。
将矩形移动
offset. 沿 x 轴移动x()并沿 y 轴移动y(),相对于当前位置。- translate(dx, dy)
- 参数:
dx – float
dy – float
将矩形移动
dx沿 x 轴和dy沿 y 轴移动,相对于当前位置。正值向右和向下移动矩形。两个参数都必须是有限的。这是一个重载函数。
返回一个偏移量为
offset的矩形的副本。沿 x 轴偏移x()以及沿 y 轴偏移offset,相对于当前位置。- translated(dx, dy)
- 参数:
dx – float
dy – float
- 返回类型:
返回一个沿 x 轴偏移
dx并沿 y 轴偏移dy的矩形的副本,相对于当前位置。正值将矩形向右下方移动。两个参数都必须是有限的。另请参阅
- transposed()
- 返回类型:
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能出现错误。
返回一个交换其宽度和高度的矩形的副本。
r = {1.5, 5.1, 4.2, 2.4} r = r.transposed() # r == {1.5, 5.1, 2.4, 4.2}
另请参阅
返回此矩形和给定矩形
rectangle的边界矩形。
另请参阅
- width()
- 返回类型:
float
返回矩形的宽度。
另请参阅
- x()
- 返回类型:
float
返回矩形左侧边缘的 x 坐标。等同于
left()。- y()
- 返回类型:
float
返回矩形顶部的 y 坐标。等同于
top()。