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

PySide6 GUI 学习笔记——常用类及控件使用方法(常用类坐标点QPoint)

控件是PySide设计好的能承载用户输入、输出的小窗体,将多个控件有机整合,能形成用户所需要的界面。而每一个控件,都有属于自己的属性、方法、信号、槽函数和事件(event),且控件与控件之间又有继承关系。

GUI编程常用类

PySide GUI变成经常用到坐标点(位置)、尺寸、矩形框、页边距、字体、颜色、调色板、图像、图标、光标和地址(QUrl)等类。

坐标点类之——QPoint

QPoint通过整数精度,在平面上定义一个点。PySide的点和Windows窗体类似,以左上方为坐标原点,从左至右是x轴方向,自上往下是y轴方向。

QPoint官方文档

概述
方法

def __init__()

def __reduce__()

def __repr__()

def isNull()

def manhattanLength()

def __ne__()

def __mul__()

def __imul__()

def __add__()

def __iadd__()

def __sub__()

def __isub__()

def __div__()

def operator/=()

def __eq__()

def setX()

def setY()

def toPointF()

def toTuple()

def transposed()

def x()

def y()

静态方法

def dotProduct()

详细描述及应用举例

Python脚本中,通过如下语句导入QPoint

from PySide6.QtCore import QPoint

  • 构造方法__init__(xpos, ypos)__init__()

构造方法__init__(xpos, ypos)根据给定的xy坐标构造一个点,__init__()则构造一个坐标为(0, 0)“空点”,即坐标原点。

    # 带参数构造一个点point_param = QPoint(5, 6)# 默认构造方法,构造一个远点origin = QPoint()

输出这两个点,分别是:

PySide6.QtCore.QPoint(5, 6)

PySide6.QtCore.QPoint(0, 0)

  • __reduce__()

Python的特殊方法,将Python对象序列化(pickle)时,会调用这个方法,如:

    p = QPoint(6, 8)print(pickle.dumps(p))
  • __repr__()

用于定义对象的字符串表示形式。当你直接打印一个类的实例化对象时,Python 会自动调用该方法,以输出对象的自我描述信息。如这里的QPoint:

    p = QPoint(10, 20)print(repr(p))  # 等同于print(p)或print(p.__repr__())
  • 空值判断isNull()

xy坐标均为0时,返回True,否则返回False,如:

    p = QPoint()print(p.isNull())   # Truenotnull_pt = QPoint(1, 2)print(notnull_pt.isNull())  # False    
  • 曼哈顿长度manhattanLength()

曼哈顿长度,或者叫曼哈顿距离,xy绝对值之和。

    p = QPoint(12, 23)manhattan_dist = p.manhattanLength()print(manhattan_dist)    # 35
  • 不等__ne__(p2)!=

判断两个点是否相等,p2是一个QPoint对象。

    p1 = QPoint(2, 5)p2 = QPoint(3, 3)p3 = QPoint(2, 5)print(p1.__ne__(p2))print(p1 != p2)print(p1 != p3)
  • 乘法运算——返回一个QPoint副本的乘法(*):__mul__(factor)

QPoint乘法运算,即*,参数可以可以是整型int或浮点型float因子factor

    p = QPoint(10, 20)r = p * 2print(r)s = p * 1.5print(s)
  • 乘等*=__imul__(factor)

QPoint乘等运算,即*=,参数可以是整型int或浮点型float因子factor

    p = QPoint(5, 8)p *= 2print(p)p *= 1.8print(p)
  • 加法运算+(__add__(p2))

QPoint加法运算。

    p = QPoint(1, 2)q = QPoint(2, 3)r = p + qprint(r)
  • 加等+=__iadd__(p)

QPoint自增运算,举例如下:

    p = QPoint(1, 2)q = QPoint(2, 3)p += qprint(p)  
  • 取负和减法运算-__sub__(p)

取负或减法运算:

    p = QPoint(1, 1)q = QPoint(2, 0)r = p - qprint(r)   
  • 减等-=__isub__(p)

减等运算:

    p = QPoint(1, 1)q = QPoint(2, 0)  q -= pprint(q)  # (1, -1)
  • 除法/__div__(divisor))以及/=

执行除法运算:

    p = QPoint(10, 20)q = p / 2.0print(q)    # (5, 10)q /= 2.5print(q)    # (2, 4)
  • 判断两个点是否相等==__eq__(p2)
    p = QPoint()q = QPoint()print(p == q)   # True
  • 设置xy值,setX()setY()
    p = QPoint(2, 3)p.setX(3)print(p)    # (3, 3)p.setY(6)print(p)    # (3, 6)
  • 转换为QPointF类型toPointF()
    p = QPoint(2, 8)print(p.toPointF()) # (2.0, 8.0)
  • 转换为元组toTuple()
    p = QPoint(3, 8)print(p.toTuple())  # (3, 8)
  • 转置transposed()

QPoint对象的xy坐标对调。

    p = QPoint(3, 5)print(p.transposed())   # (5, 3)
  • 获取xy数值x()y()
    p = QPoint(7, 8)print(p.x())    # 7print(p.y())    # 8
http://www.lryc.cn/news/360121.html

相关文章:

  • 算法练习——字符串
  • Flutter 中的 SliverOverlapInjector 小部件:全面指南
  • 7个Python爬虫入门小案例
  • linux 利用 ~$() 构造数字
  • 七大获取免费https的方式
  • JVM(Java虚拟机)笔记
  • 秒杀基本功能开发(显示商品列表和商品详情)
  • centos 记录用户登陆ip和执行命令
  • JZ2440笔记:DM9000C网卡驱动
  • 【数据结构】二叉树:简约和复杂的交织之美
  • 信号稳定,性能卓越!德思特礁鲨系列MiMo天线正式发布!
  • 编程学习技巧——实战
  • GPU学习(1)
  • TQSDRPI开发板教程:UDP收发测试
  • opencv进阶 ——(九)图像处理之人脸修复祛马赛克算法CodeFormer
  • 虚拟机改IP地址
  • MySQL(二)-基础操作
  • vue3学习使用笔记
  • 微信小程序怎么进行页面传参
  • 隆道出席河南ClO社区十周年庆典,助推采购和供应链数字化发展
  • NetApp财季报告亮点:全闪存阵列需求强劲,云计算收入增长放缓但AI领域前景乐观
  • javascript读取本地目录
  • Java基础八股
  • 【机器学习300问】102、什么是混淆矩阵?
  • 基于SpringBoot3和JDK17,集成H2数据库和jpa
  • 《逆水寒》手游周年庆,热度不减反增引发热议
  • Kotlin使用Dagger2但无法生成对应类 Unresolved reference: DaggerMyComponent
  • Vue组件通讯⽗组件中通过 provide 来提供变量,然后在⼦组件中通过 inject 来注⼊变量例子
  • 教你搞一个比较简单的计时和进度条装饰器
  • 跑马灯的两种实现方式