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

天河区做网站什么是seo文章

天河区做网站,什么是seo文章,做网站前台步骤,网站数据库名称怎么改文章目录 一、构造与初始化方法二、坐标与尺寸获取三、坐标与尺寸设置四、几何运算方法五、移动与调整方法六、状态判断方法七、类型转换方法八、操作符重载九、静态方法十、特殊方法附录方法速查表注意的问题交集和并集图解 📘 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/wzjs/490364.html

相关文章:

  • 做淘宝详情页好的网站临沂seo优化
  • 深圳网站建设网站制作公司花西子网络营销案例分析
  • 如果网站没有做icp备案seo是什么意思网络用语
  • 国内最大的自建站平台百度关键词统计
  • 自己做的网站怎么在移动端访问销售平台软件有哪些
  • 华跃建筑人才网网站seo网络优化
  • 网站 特效都是用什么软件做的宁波seo推广公司排名
  • 专业做红木家具网站营销网站建设多少钱
  • 微信开发网站西安百度seo代理
  • 上海做网站哪家公司好北京seo平台
  • wordpress安装下载网站优化要做哪些
  • 网站开发需要学多久阿里云建网站
  • 新疆人微信推广网站在哪里做百度关键词seo
  • 代做毕网站站长工具seo综合查询引流
  • 国内域名网站有那些兰州网络推广电话
  • 亚马逊雨林动物大全北京做的好的seo公司
  • 建设网站的政策风险分析关键词排名提高方法
  • 阿里云网站怎么做阿里妈妈天津seo代理商
  • 政务网站建设论文国内最好用免费建站系统
  • 收废品做网站企业危机公关
  • 做箱包外贸哪个网站好宝安网站建设
  • 网站分析流程各大网站收录入口
  • 高校网站建设管理制度搜索引擎关键词怎么选
  • 网站服务内容怎样选小红书sem是什么意思
  • 企业网站手机版打广告去哪个平台
  • 公司怎么做网页网站优化师是一份怎样的工作
  • 做中国o2o网站领导线上推广平台报价
  • 做电影网站有哪些外链网站推荐几个
  • 哈尔滨营销型网站建设公司武汉seo价格
  • 全国医院网站建设搜索引擎优化实验报告