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

PySide6 GUI 学习笔记——常用类及控件使用方法(常用类边距QMarginsF)

文章目录

  • 类简介
  • 方法总览
  • 关键说明
  • 示例代码

类简介

QMarginsF 用于定义四个浮点型边距(左、上、右、下),描述围绕矩形的边框尺寸。所有边距接近零时 isNull() 返回 True,支持运算符重载和数学运算。


方法总览

方法名/运算符参数返回类型描述
构造函数
__init__()-None构造所有边距为0的QMarginsF对象
__init__(QMarginsF margins)margins: 其他QMarginsF对象None复制构造
__init__(left, top, right, bottom)left, top, right, bottom: 浮点数(必须为有限值)None指定左、上、右、下边距构造
成员方法
bottom()-float返回底部边距
left()-float返回左侧边距
right()-float返回右侧边距
top()-float返回顶部边距
isNull()-bool所有边距接近0时返回True(使用模糊比较)
setBottom(abottom)abottom: 浮点数(必须为有限值)None设置底部边距
setLeft(aleft)aleft: 浮点数(必须为有限值)None设置左侧边距
setRight(aright)aright: 浮点数(必须为有限值)None设置右侧边距
setTop(atop)atop: 浮点数(必须为有限值)None设置顶部边距
toMargins()-QMargins返回整数边距对象(四舍五入)
运算符重载
+ (__add__)QMarginsFfloatQMarginsF边距相加(分量分别相加)
- (__sub__)QMarginsFfloatQMarginsF边距相减(分量分别相减)
* (__mul__)floatQMarginsF边距各分量乘以标量
/ (__div__)float(除数不能为0或NaN)QMarginsF边距各分量除以标量
+= (__iadd__)QMarginsFfloatQMarginsF自身边距增加(分量分别相加)
-= (__isub__)QMarginsFfloatQMarginsF自身边距减少(分量分别相减)
*= (__imul__)floatQMarginsF自身边距各分量乘以标量
/= (__idiv__)float(除数不能为0或NaN)QMarginsF自身边距各分量除以标量
== (__eq__)QMarginsFbool模糊比较是否相等(非严格相等)
!= (__ne__)QMarginsFbool模糊比较是否不等
| (__or__)QMarginsFQMarginsF取各分量的最大值(如m1 | m2返回各边最大值的新对象)
特殊操作
单目- (__neg__)-QMarginsF返回各分量取反后的新对象

关键说明

  1. 模糊比较:==!= 使用 qFuzzyCompare 进行浮点数近似比较,非精确相等。
  2. 有限值限制:所有构造函数和设置方法要求参数为有限值(非无穷或NaN)。
  3. 运算符优先级:运算符重载遵循Python标准优先级规则。
  4. 隐式转换:toMargins() 将浮点边距四舍五入为整数,生成 QMargins 对象。

示例代码

from PySide6.QtCore import QMarginsFm1 = QMarginsF(10.5, 20.0, 30.5, 40.0)
m2 = QMarginsF(5.0, 5.0, 5.0, 5.0)# 边距相加
m_sum = m1 + m2  # QMarginsF(15.5, 25.0, 35.5, 45.0)
print(m_sum)# 标量乘法
m_scaled = m1 * 2  # QMarginsF(21.0, 40.0, 61.0, 80.0)
print(m_scaled)# 比较操作
print(m1 == m2)  # False(使用模糊比较)

代码运行效果如下:


代码运行效果

http://www.xdnf.cn/news/377263.html

相关文章:

  • 【部署】win10的wsl环境下启动dify的web前端服务
  • 21.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--身份认证服务拆分规划
  • linux perf top分析系统性能
  • 光流 | 基于深度学习的光流估计算法汇总,原理,公式,流程图,代码
  • 人形机器人量产元年开启,AI与物理世界深度融合
  • CAS操作
  • Ceph集群故障处理 - PG不一致修复
  • [SV]等待32个instance的某一个信号的pulse,该怎么写?
  • Windows 系统 - Trae 内 终端 无法使用 node (重新配置 nodejs 路径)
  • 青藏高原东北部祁连山地区250m分辨率多年冻土空间分带指数图(2023)
  • AtCoder AT_abc405_d ABC405D - Escape Route
  • 智慧能源大数据平台建设方案(PPT)
  • 数字孪生实战笔记(1)数字孪生的含义、应用及技术体系
  • RPA 浏览器自动化:高效扩展与智能管理的未来
  • SpringBoot学习(上) , SpringBoot项目的创建(IDEA2024版本)
  • 基于阿伦尼斯模型的电池寿命预测:原理、应用与挑战
  • 数据结构:树(树的定义和基本术语)
  • JGL069垃圾填埋场模拟装置试验台
  • 力扣top100 矩阵置零
  • 近日部署跑通的若干多模态模型总结与论文概述
  • clangd与clang-tidy
  • Flutter PIP 插件 ---- 为iOS 重构PipController, Demo界面,更好的体验
  • 优选算法——前缀和
  • Java---StringJoiner 的使用
  • C++11新特性:深入解析decltype关键字及其与auto的区别
  • AI Agent(8):安全与伦理考量
  • [题解]2023CCPC黑龙江省赛 - Folder
  • 警惕C#版本差异多线程中的foreach陷阱
  • 每日c/c++题 备战蓝桥杯(P2241 统计方形(数据加强版))
  • (四)YOLO_World-SAM-GraspNet的mujoco抓取仿真(操作记录)