PySide6.QtCore.QRectF¶
- 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()
def
height()
def
intersected()
def
intersects()
def
isEmpty()
def
isNull()
def
isValid()
def
left()
def
marginsAdded()
def
marginsRemoved()
def
moveBottom()
def
moveBottomLeft()
def
moveCenter()
def
moveLeft()
def
moveRight()
def
moveTo()
def
moveTop()
def
moveTopLeft()
def
moveTopRight()
def
normalized()
def
__ne__()
def
__and__()
def
__iand__()
def
__add__()
def
__iadd__()
def
__sub__()
def
__isub__()
def
__eq__()
def
__or__()
def
__ior__()
def
right()
def
setBottom()
def
setBottomLeft()
def
setBottomRight()
def
setCoords()
def
setHeight()
def
setLeft()
def
setRect()
def
setRight()
def
setSize()
def
setTop()
def
setTopLeft()
def
setTopRight()
def
setWidth()
def
setX()
def
setY()
def
size()
def
toAlignedRect()
def
toRect()
def
top()
def
topLeft()
def
topRight()
def
translate()
def
translated()
def
transposed()
def
united()
def
width()
def
x()
def
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()
函数,该函数返回包含给定矩形和此矩形的矩形:如果矩形的宽度或高度小于或等于0,
isEmpty()
函数将返回true
。请注意,空矩形是无效的:如果宽度和高度都大于0,isValid()
函数将返回true
。另一方面,空矩形(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()
函数可以一次性操作矩形的坐标和尺寸。- __init__()¶
构造一个空矩形。
另请参阅
- __init__(rect)
- Parameters:
rect –
QRect
从给定的
QRect
rectangle
构造一个QRectF
矩形。使用给定的
topLeft
和bottomRight
角构造一个矩形。使用给定的
topLeft
角和给定的size
构造一个矩形。另请参阅
- __init__(left, top, width, height)
- Parameters:
left – 浮点数
top – 浮点数
width – 浮点数
height – 浮点数
构造一个以(
x
,y
)为左上角,并具有给定width
和height
的矩形。所有参数必须是有限的。另请参阅
- __reduce__()¶
- Return type:
字符串
- __repr__()¶
- Return type:
字符串
- adjust(x1, y1, x2, y2)¶
- Parameters:
x1 – 浮点数
y1 – 浮点数
x2 – 浮点数
y2 – 浮点数
将
dx1
、dy1
、dx2
和dy2
分别添加到矩形的现有坐标中。所有参数必须是有限的。另请参阅
返回一个新的矩形,分别将
dx1
、dy1
、dx2
和dy2
添加到该矩形的现有坐标中。所有参数必须是有限的。另请参阅
- bottom()¶
- Return type:
浮点数
返回矩形底边的y坐标。
返回矩形左下角的位置。
返回矩形右下角的位置。
返回矩形的中心点。
另请参阅
如果给定的
point
在矩形内部或边缘上,则返回true
;否则返回false
。另请参阅
- contains(r)
- Parameters:
r –
QRectF
- Return type:
布尔
这是一个重载函数。
如果给定的
rectangle
在此矩形内,则返回true
;否则返回false
。- contains(x, y)
- Parameters:
x – 浮点数
y – 浮点数
- Return type:
布尔
这是一个重载函数。
如果点 (
x
,y
) 在矩形内部或边缘上,则返回true
;否则返回false
。- getCoords()¶
- Return type:
PyObject
提取矩形左上角的位置到 *``x1`` 和 *``y1``,以及右下角的位置到 *``x2`` 和 *``y2``。
另请参阅
- getRect()¶
- Return type:
PyObject
提取矩形左上角的位置到 *``x`` 和 *``y``,并将其尺寸提取到 *``width`` 和 *``height``。
另请参阅
- height()¶
- Return type:
浮点数
返回矩形的高度。
另请参阅
返回此矩形与给定
rectangle
的交集。请注意,r.intersected(s)
等同于r & s
。另请参阅
intersects()
united()
operator&=()
如果此矩形与给定的
rectangle
相交(即它们之间存在非空的重叠区域),则返回true
,否则返回false
。可以使用
intersected()
函数来获取相交矩形。另请参阅
- isEmpty()¶
- Return type:
布尔
如果矩形为空,则返回
true
,否则返回false
。一个空的矩形具有
width()
<= 0 或height()
<= 0。一个空的矩形是无效的(即,isEmpty() == !isValid()
)。使用
normalized()
函数来检索一个角点被交换的矩形。- isNull()¶
- Return type:
布尔
如果矩形是空矩形,则返回
true
,否则返回false
。一个空矩形的宽度和高度都设置为0。空矩形也是空的,因此无效。
- isValid()¶
- Return type:
布尔
如果矩形有效,则返回
true
,否则返回false
。一个有效的矩形具有
width()
> 0 和height()
> 0。请注意,对于无效的矩形,像交集这样的非平凡操作是未定义的。一个有效的矩形不是空的(即,isValid() == !isEmpty()
)。- left()¶
- Return type:
浮点数
返回矩形左边缘的x坐标。等同于
x()
。返回一个由
margins
扩展的矩形。另请参阅
operator+=()
marginsRemoved()
operator-=()
从矩形中移除
margins
,使其缩小。另请参阅
marginsAdded()
operator+=()
operator-=()
- moveBottom(pos)¶
- Parameters:
pos – 浮点数
将矩形垂直移动,使矩形的底边位于给定的有限
y
坐标处。矩形的大小保持不变。另请参阅
移动矩形,将左下角留在给定的
position
。矩形的大小保持不变。移动矩形,将右下角留在给定的
position
。矩形的大小保持不变。移动矩形,将中心点留在给定的
position
。矩形的大小保持不变。另请参阅
- moveLeft(pos)¶
- Parameters:
pos – 浮点数
将矩形水平移动,使矩形的左边缘位于给定的有限
x
坐标处。矩形的大小保持不变。另请参阅
- moveRight(pos)¶
- Parameters:
pos – 浮点数
将矩形水平移动,使矩形的右边缘位于给定的有限
x
坐标处。矩形的大小保持不变。另请参阅
这是一个重载函数。
移动矩形,将左上角留在给定的
position
。- moveTo(x, y)
- Parameters:
x – 浮点数
y – 浮点数
移动矩形,将左上角放置在给定位置(
x
,y
)。矩形的大小保持不变。两个参数必须是有限的。另请参阅
- moveTop(pos)¶
- Parameters:
pos – 浮点数
将矩形垂直移动,使矩形的顶线位于给定的有限
y
坐标处。矩形的大小保持不变。另请参阅
移动矩形,将左上角放置在给定的
position
。矩形的大小保持不变。移动矩形,将右上角留在给定的
position
。矩形的大小保持不变。返回一个标准化的矩形;即,一个具有非负宽度和高度的矩形。
如果
width()
< 0,函数会交换左右角,如果height()
< 0,函数会交换上下角。- __ne__(rhs)
- Parameters:
rhs –
QRectF
- Return type:
布尔
如果矩形
lhs
和rhs
有显著差异,则返回true
,否则返回false
。警告
此函数不检查严格不等式;相反,它使用模糊比较来比较矩形的坐标。
返回此矩形与给定
rectangle
的交集。如果没有交集,则返回一个空矩形。另请参阅
operator&=()
intersected()
将此矩形与给定的
rectangle
相交。另请参阅
intersected()
operator&()
这是一个重载函数。
返回由
rhs
边距扩展的lhs
矩形。返回由
rhs
边距扩展的lhs
矩形。将
margins
添加到矩形中,使其扩大。另请参阅
marginsAdded()
marginsRemoved()
operator-=()
返回由
lhs
矩形缩小rhs
边距后的结果。返回一个由
margins
缩小的矩形。另请参阅
marginsRemoved()
operator+=()
marginsAdded()
- __eq__(rhs)
- Parameters:
rhs –
QRectF
- Return type:
布尔
如果矩形
lhs
和rhs
大致相等,则返回true
,否则返回false
。警告
此函数不检查严格相等性;相反,它使用模糊比较来比较矩形的坐标。
另请参阅
qFuzzyCompare
返回此矩形和给定
rectangle
的边界矩形。另请参阅
united()
operator|=()
将此矩形与给定的
rectangle
合并。另请参阅
united()
operator|()
- right()¶
- Return type:
浮点数
返回矩形右边界的x坐标。
- setBottom(pos)¶
- Parameters:
pos – 浮点数
将矩形的底边设置为给定的有限
y
坐标。可能会改变高度,但永远不会改变矩形的顶边。另请参阅
将矩形的左下角设置为给定的
position
。可能会改变大小,但永远不会改变矩形的右上角。将矩形的右下角设置为给定的
position
。可能会改变大小,但永远不会改变矩形的左上角。- setCoords(x1, y1, x2, y2)¶
- Parameters:
x1 – 浮点数
y1 – 浮点数
x2 – 浮点数
y2 – 浮点数
将矩形的左上角坐标设置为(
x1
,y1
),右下角坐标设置为(x2
,y2
)。所有参数必须为有限值。另请参阅
- setHeight(h)¶
- Parameters:
h – 浮点数
将矩形的高度设置为给定的有限
height
。底边会改变,但顶边不会改变。- setLeft(pos)¶
- Parameters:
pos – 浮点数
将矩形的左边缘设置为给定的有限
x
坐标。可能会改变宽度,但永远不会改变矩形的右边缘。等同于
setX()
。另请参阅
- setRect(x, y, w, h)¶
- Parameters:
x – 浮点数
y – 浮点数
w – 浮点数
h – 浮点数
将矩形的左上角坐标设置为(
x
,y
),并将其大小设置为给定的width
和height
。所有参数必须为有限值。另请参阅
- setRight(pos)¶
- Parameters:
pos – 浮点数
将矩形的右边缘设置为给定的有限
x
坐标。可能会改变宽度,但永远不会改变矩形的左边缘。另请参阅
将矩形的大小设置为给定的有限
size
。左上角不会移动。另请参阅
- setTop(pos)¶
- Parameters:
pos – 浮点数
将矩形的上边缘设置为给定的有限
y
坐标。可能会改变高度,但永远不会改变矩形的下边缘。等同于
setY()
。将矩形的左上角设置为给定的
position
。可能会改变大小,但永远不会改变矩形的右下角。另请参阅
将矩形的右上角设置为给定的
position
。可能会改变大小,但永远不会改变矩形的左下角。另请参阅
- setWidth(w)¶
- Parameters:
w – 浮点数
将矩形的宽度设置为给定的有限
width
。右边缘会改变,但左边缘不会改变。- setX(pos)¶
- Parameters:
pos – 浮点数
将矩形的左边缘设置为给定的有限
x
坐标。可能会改变宽度,但永远不会改变矩形的右边缘。等同于
setLeft()
。另请参阅
- setY(pos)¶
- Parameters:
pos – 浮点数
将矩形的上边缘设置为给定的有限
y
坐标。可能会改变高度,但永远不会改变矩形的下边缘。等同于
setTop()
。另请参阅
返回矩形的大小。
返回一个基于此矩形值的
QRect
,它是完全包含此矩形的最小可能整数矩形。另请参阅
返回基于此矩形值的
QRect
。请注意,返回的矩形中的坐标将四舍五入到最接近的整数。另请参阅
QRectF()
toAlignedRect()
toRectF()
- top()¶
- Return type:
浮点数
返回矩形上边缘的y坐标。等同于
y()
。另请参阅
返回矩形左上角的位置。
另请参阅
返回矩形右上角的位置。
另请参阅
这是一个重载函数。
将矩形
offset
移动。沿x轴移动x()
,沿y轴移动offset
。相对于当前位置。- translate(dx, dy)
- Parameters:
dx – 浮点数
dy – 浮点数
将矩形沿x轴移动
dx
,沿y轴移动dy
,相对于当前位置。正值将矩形向右和向下移动。两个参数必须是有限的。这是一个重载函数。
返回一个矩形副本,该副本相对于当前位置沿x轴平移
offset
。x()
,沿y轴平移offset
。y()
。- translated(dx, dy)
- Parameters:
dx – 浮点数
dy – 浮点数
- Return type:
返回一个矩形副本,该副本相对于当前位置沿x轴平移
dx
,沿y轴平移dy
。正值将矩形向右和向下移动。两个参数必须为有限值。另请参阅
警告
本节包含从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()¶
- Return type:
浮点数
返回矩形的宽度。
另请参阅
- x()¶
- Return type:
浮点数
返回矩形左边界的x坐标。等同于
left()
。- y()¶
- Return type:
浮点数
返回矩形上边缘的y坐标。等同于
top()
。