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

互联斗士网站建站广州网站制作是什么

互联斗士网站建站,广州网站制作是什么,福建富通建设有限公司网站,ui设计是什么职业文章目录 一、构造与初始化方法二、坐标与尺寸获取三、坐标与尺寸设置四、几何运算方法五、移动与调整方法六、状态判断方法七、类型转换方法八、操作符重载九、静态方法十、特殊方法附录方法速查表注意的问题交集和并集图解 📘 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/417051.html

相关文章:

  • 那有名网站是php做的宁夏网站设计联系电话
  • 树莓派imager使用记录
  • 网站收录更新保险网站有哪些
  • 兴宁市网站建设国内新闻热点事件
  • 做网站审批号必须要西地那非片功效与作用主要会有哪些
  • 网站制作价格甄选乐云践新南京酒店网站制作
  • 网站授权合同深圳苏州企业网站建设服务公司
  • 河南工程建设 协会网站免费行情网站
  • 哪些网站可以做团购免费关键词挖掘网站
  • 上海好的高端网站建国外做机器的好的网站
  • 简单aspx网站开发宁波的网络公司比较有名的
  • 青岛网站建设方案托管wordpress循环分类
  • wordpress迁站页面设计作品
  • 品牌网站建设设计免费ppt课件模板大全
  • 南昌做网站的公司公司找人做网站
  • 中国建设银行龙卡信用卡网站码迷seo
  • 免费学软件的自学网站做网站的一个月能赚多少钱
  • 宁夏建设厅网站首页软件开发的公司
  • 建立了网站后如何发贴我们网站百度快照显示违规内容
  • 哪里有做网站定制衣服的厂家
  • 暴利产品竞价单页网站弄个直播平台大概要多少钱
  • 网站建设策划框架如何在360网站网页上做笔记
  • 公司网站做优化网站建设费用的会计核算
  • 网站怎么添加百度地图做网站用asp还是php
  • 广州网站建设年底促销网站如何做seo的
  • 微网站绑定域名书店建设网站
  • 廊坊网站制作潍坊公司电话使用织梦系统建设网站教程
  • 软件工程师是做什么的镇海seo关键词优化费用
  • 做intor的网站电信外包有必要去吗
  • 后台与网站北京网站建设公司艺唯思