PySide6 GUI 学习笔记——常用类及控件使用方法(常用类边距QMargins)
文章目录
- 类概述
- 方法总览
- 使用注意事项
- 简单示例
类概述
QMargins
类用于描述矩形四周边框尺寸,包含左(left)、上(top)、右(right)、下(bottom)四个整型边距值。当所有边距均为0时,isNull()
返回 True。该类支持流式操作和比较运算。
版本信息: Qt 4.6 新增该类
方法总览
方法签名 | 参数类型 | 返回类型 | 说明 |
---|---|---|---|
__init__() | - | QMargins | 构造所有边距为0的QMargins对象 |
__init__(left: int, top: int, right: int, bottom: int) | int, int, int, int | QMargins | 构造指定边距的对象 |
bottom() -> int | - | int | 获取下边距值 |
isNull() -> bool | - | bool | 判断是否所有边距为0 |
left() -> int | - | int | 获取左边距值 |
__ne__(m2: QMargins) -> bool | QMargins | bool | 判断两个边距对象是否不等 |
__mul__(factor: int) -> QMargins | int | QMargins | 所有边距乘以整数因子,返回新对象 |
__mul__(factor: int) -> QMargins | int | QMargins | 重载:整数相乘 |
__mul__(factor: float) -> QMarginsF | float | QMarginsF | 所有边距乘以浮点数因子,返回QMarginsF对象 |
__imul__(factor: int) -> QMargins | int | QMargins | 原地整数乘法,返回自身引用 |
__imul__(factor: float) -> QMarginsF | float | QMarginsF | 重载:浮点数乘法 |
__add__(m2: QMargins) -> QMargins | QMargins | QMargins | 两对象对应边距相加 |
__add__(lhs: int) -> QMargins | int | QMargins | 所有边距加相同整数值 |
__iadd__(margins: QMargins) -> QMargins | QMargins | QMargins | 原地加法运算 |
__iadd__(addend: int) -> QMargins | int | QMargins | 所有边距加相同整数值 |
__sub__(rhs: int) -> QMargins | int | QMargins | 所有边距减相同整数值 |
__sub__(m2: QMargins) -> QMargins | QMargins | QMargins | 两对象对应边距相减 |
__isub__(margins: QMargins) -> QMargins | QMargins | QMargins | 原地减法运算 |
__isub__(subtrahend: int) -> QMargins | int | QMargins | 所有边距减相同整数值 |
__truediv__(divisor: int) -> QMargins | int | QMargins | 所有边距除以整数 |
__truediv__(divisor: float) -> QMarginsF | float | QMarginsF | 返回浮点边距对象 |
operator/=(divisor: int) -> QMargins | int | QMargins | 原地整数除法 |
operator/=(divisor: float) -> QMarginsF | float | QMarginsF | 返回浮点边距对象 |
__eq__(m2: QMargins) -> bool | QMargins | bool | 判断两对象是否相等 |
__or__(m2: QMargins) -> QMargins | QMargins | QMargins | 取两对象各边距的最大值 |
right() -> int | - | int | 获取右边距值 |
setBottom(bottom: int) | int | void | 设置下边距值 |
setLeft(left: int) | int | void | 设置左边距值 |
setRight(right: int) | int | void | 设置右边距值 |
setTop(top: int) | int | void | 设置上边距值 |
toMarginsF() -> QMarginsF | - | QMarginsF | 转换为浮点边距对象 |
top() -> int | - | int | 获取上边距值 |
使用注意事项
- 运算符重载支持多种类型参数,注意返回类型可能不同(如浮点运算返回QMarginsF)
- 原地操作符(如
__iadd__
)会修改原对象 - 比较运算符需比较全部四个边距值
- 可通过
toMarginsF()
转换为浮点精度版本
简单示例
from PySide6.QtCore import QMarginsm1 = QMargins(10, 20, 30, 40)
m2 = QMargins(5, 5, 5, 5)# 加法运算
result = m1 + m2 # QMargins(15,25,35,45)
print(result)# 标量乘法
scaled = m1 * 2 # QMargins(20,40,60,80)
print(scaled)# 类型转换
float_margins = m1.toMarginsF() # QMarginsF(10.0,20.0,30.0,40.0)
print(float_margins)
运行效果如下: