当前位置: 首页 > news >正文

高明铝业网站建站网站设计源代码

高明铝业网站建站,网站设计源代码,重庆公司网站设计制作,长春火车站时刻表文章目录 一、构造与初始化方法二、坐标与尺寸获取三、坐标与尺寸设置四、几何运算方法五、移动与调整方法六、状态判断方法七、类型转换方法八、操作符重载九、静态方法十、特殊方法附录方法速查表注意的问题交集和并集图解 📘 PySide6.QtCore.QRect 使用整数精度定…

文章目录

  • 一、构造与初始化方法
  • 二、坐标与尺寸获取
  • 三、坐标与尺寸设置
  • 四、几何运算方法
  • 五、移动与调整方法
  • 六、状态判断方法
  • 七、类型转换方法
  • 八、操作符重载
  • 九、静态方法
  • 十、特殊方法
  • 附录
    • 方法速查表
    • 注意的问题
    • 交集和并集图解

📘 PySide6.QtCore.QRect 使用整数精度定义平面矩形区域,其官方文档参考这里。


一、构造与初始化方法

方法签名说明
QRect()构造空矩形(宽高为0)
QRect(x: int, y: int, width: int, height: int)通过坐标和尺寸构造
QRect(topLeft: QPoint, size: QSize)通过顶点和尺寸构造
QRect(topLeft: QPoint, bottomRight: QPoint)通过对角点构造(不推荐)
# 空矩形
null_rect = QRect()# 标准构造
rect1 = QRect(10, 20, 300, 400)# QPoint+QSize构造
rect2 = QRect(QPoint(10, 20), QSize(300, 400))

二、坐标与尺寸获取

方法返回值说明
left()int左边界x坐标
top()int上边界y坐标
right()int右边界x坐标(含历史原因带来的偏移: left() + width() - 1)
bottom()int下边界y坐标(含历史偏移:top() + height() - 1
width()int实际宽度(可能负数)
height()int实际高度(可能负数)
topLeft()QPoint左上角坐标
bottomRight()QPoint右下角坐标(含偏移)
center()QPoint中心点坐标
size()QSize尺寸对象
rect = QRect(10, 20, 30, 40)
print(rect.right())   # 39 (10+30-1)
print(rect.size())    # QSize(30, 40)
print(rect.top())     # 20
print(rect.width())     # 30
print(rect.height())    # 40
print(rect.x())         # 10
print(rect.y())         # 20
print(rect.bottom())    # 59 (20+40-1)
print(rect.left())      # 10,和x()一样

三、坐标与尺寸设置

方法参数说明
setLeft(x: int)新左边界保持右边界不变
setRight(x: int)新右边界改变宽度
setTop(y: int)新上边界保持下边界不变
setBottom(y: int)新下边界改变高度
setTopLeft(p: QPoint)新顶点改变位置,保持右下
setBottomRight(p: QPoint)新对角点改变尺寸
setWidth(w: int)新宽度右边界自动计算
setHeight(h: int)新高度下边界自动计算
setSize(s: QSize)新尺寸保持左上角不变
setCoords(x1: int, y1: int, x2: int, y2: int)四坐标直接设置四个边界
setRect(x: int, y: int, w: int, h: int)坐标+尺寸重置整个矩形
rect = QRect(10, 20, 30, 40)
rect.setRight(50)      # 新宽度=50-10+1=41
rect.setSize(QSize(20, 60))  # 变为(10,20,20,60)

四、几何运算方法

方法返回值说明
contains(QPoint)bool点是否在矩形内
contains(QRect)bool是否完全包含另一矩形
intersects(QRect)bool是否有重叠区域
intersected(QRect)QRect返回交集区域
united(QRect)QRect返回并集区域
adjusted(dx1: int, dy1: int, dx2: int, dy2: int)QRect调整边界后的新矩形
normalized()QRect标准化后的正尺寸矩形
rect_a = QRect(0, 0, 100, 100)
rect_b = QRect(50, 50, 100, 100)print(rect_a.intersected(rect_b))  # QRect(50,50,50,50)
print(rect_a.contains(QPoint(30,30)))  # True

五、移动与调整方法

方法参数说明
translate(dx: int, dy: int)偏移量相对移动
translated(dx: int, dy: int)偏移量返回移动后的新矩形
moveTo(x: int, y: int)新坐标绝对移动左上角
moveTopLeft(p: QPoint)新顶点移动左上角
adjust(dx1: int, dy1: int, dx2: int, dy2: int)调整量直接修改边界
marginsAdded(QMargins)边距增加外边距后的新矩形
marginsRemoved(QMargins)边距移除外边距后的新矩形
rect = QRect(10, 20, 30, 40)
rect.translate(5, -5)  # 新位置(15,15,30,40)
new_rect = rect.translated(0, 10)  # (15,25,30,40)
new_rect.moveTo(0, 0)   # (0,0,30,40)

六、状态判断方法

方法返回值说明
isEmpty()bool是否面积为零(允许负尺寸)
isNull()bool是否宽高均为0
isValid()bool是否满足 left<=right 且 top<=bottom
rect1 = QRect(10,10,-5,20)
print(rect1.isEmpty())  # True (宽度为负)
print(rect1.isValid())   # Falserect2 = QRect()
print(rect2.isNull())    # True

七、类型转换方法

方法返回值说明
toRectF()QRectF转为浮点矩形
getCoords()(x1, y1, x2, y2)获取四个边界坐标
getRect()(x, y, w, h)获取左上坐标和尺寸
rect = QRect(10, 20, 30, 40)
print(rect.getCoords())  # (10, 20, 39, 59)
print(rect.toRectF())    # QRectF(10.0,20.0,30.0,40.0)

八、操作符重载

操作符等效方法说明
&intersected()交集运算
|united()并集运算
+=marginsAdded()增加边距
-=marginsRemoved()移除边距
==坐标相等判断完全一致
-差集运算返回缩小后的矩形
rect1 = QRect(0,0,100,100)
rect2 = QRect(50,50,100,100)
print(rect1 & rect2)  # QRect(50,50,50,50)
print(rect1 | rect2)  # QRect(0,0,150,150)

九、静态方法

方法说明
span(p1: QPoint, p2: QPoint)创建包含两点的最小矩形
p1 = QPoint(10, 20)
p2 = QPoint(50, 60)
span_rect = QRect.span(p1, p2)  # QRect(10,20,41,41)

十、特殊方法

方法说明
__reduce__()序列化支持
__repr__()字符串表示
transposed()宽高交换后的新矩形
rect = QRect(10, 20, 30, 40)
print(rect.transposed())  # QRect(10,20,40,30)

附录

方法速查表

类别方法
构造QRect(), QRect(x,y,w,h), QRect(QPoint,QSize)
坐标获取left(), right(), top(), bottom(), topLeft(), bottomRight(), center()
尺寸获取width(), height(), size()
坐标设置setLeft(), setRight(), setTop(), setBottom(), setTopLeft(), setBottomRight()
尺寸设置setWidth(), setHeight(), setSize(), setCoords(), setRect()
几何运算contains(), intersects(), intersected(), united(), adjusted(), normalized()
移动调整translate(), translated(), moveTo(), adjust(), marginsAdded(), marginsRemoved()
状态判断isEmpty(), isNull(), isValid()
类型转换toRectF(), getCoords(), getRect()
操作符&, |, +=, -=, ==, -
特殊方法transposed(), span()

注意的问题

实际开发中需特别注意:

  1. 历史坐标偏移问题(right/bottom返回值)
  2. 负尺寸需用normalized()标准化
  3. 移动与调整方法的原地修改返回新对象的区别
  4. 有效性验证应在几何运算前完成

交集和并集图解

  • intersect
    交集
  • united
    并集
http://www.dtcms.com/a/539355.html

相关文章:

  • asp.net mvc 做网站登录我的博客
  • 青岛网站建设企业建站厦门博客网站制作
  • 广州第一网站小型影视网站源码
  • 做网站的服务器还需要空间吗优秀平面广告设计赏析
  • 写简历的网站建筑有限公司
  • seo网站优化平台莞城网站建设
  • 承德企业网站建设公司2022年进口博览会上海
  • 如何建设一个公司网站来宾 网站建设
  • 长春建设平台网站的公司哪家好wordpress首页缩略图插件
  • 滨州网站seo服务城乡建设吧部网站
  • 广州网站制作信科建设怎么在手机上建网站
  • 北京工程质量建设协会网站wordpress自助申请友链
  • 网站建设中国十强网站开发公司上
  • 营销型网站服务公司天津行业网站建设
  • wordpress 获取自定义分类列表陕西seo顾问服务
  • 网站开发项目概述关键词怎么优化到百度首页
  • 常见的网站类型有网站建设都包含哪些内容
  • 怎么优化整站成功营销案例
  • 在原备案号下增加新网站制作企业网站的机构推荐
  • 做英文简历的网站郑州网站开发便宜
  • 家庭服务网站的营销策略六安城市网官网
  • 罗湖网站建设费用做的网站怎么放到网上
  • 网站建设需要什么东西wordpress下划线
  • 网站维护工程师薪酬免费网络密码
  • 网站推荐免费的南阳做网站公司电话
  • 自主建站是什么意思网站内链分析
  • 北京网站模板建站网站建设基本步骤是什么
  • 手机网站建设需求吉林市做网站的科技公司
  • 郑州建设安全管理协会网站提高网站粘性
  • phpmysql网站开发如何降低网站的权重