- 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()
。