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)根据给定的x和y坐标构造一个点,__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()
当x和y坐标均为0时,返回True,否则返回False,如:
p = QPoint()print(p.isNull()) # Truenotnull_pt = QPoint(1, 2)print(notnull_pt.isNull()) # False
- 曼哈顿长度
manhattanLength()
曼哈顿长度,或者叫曼哈顿距离,x和y绝对值之和。
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
- 设置
x,y值,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对象的x和y坐标对调。
p = QPoint(3, 5)print(p.transposed()) # (5, 3)
- 获取
x,y数值x(),y()
p = QPoint(7, 8)print(p.x()) # 7print(p.y()) # 8
相关文章:
PySide6 GUI 学习笔记——常用类及控件使用方法(常用类坐标点QPoint)
控件是PySide设计好的能承载用户输入、输出的小窗体,将多个控件有机整合,能形成用户所需要的界面。而每一个控件,都有属于自己的属性、方法、信号、槽函数和事件(event),且控件与控件之间又有继承关系。 G…...
算法练习——字符串
一确定字符串是否包含唯一字符 1.1涉及知识点 c的输入输出语法 cin>>s; cout<<"NO"; 如何定义字符串 切记:在[]中必须加数字——字符串最大长度,不然编译不通过 char s[101]; 如何获取字符串长度 char s[101];cin>>s;i…...
Flutter 中的 SliverOverlapInjector 小部件:全面指南
Flutter 中的 SliverOverlapInjector 小部件:全面指南 Flutter 是一个功能丰富的 UI 框架,由 Google 开发,允许开发者使用 Dart 语言构建跨平台的移动、Web 和桌面应用。在 Flutter 的滚动视图系统中,SliverOverlapInjector 是一…...
7个Python爬虫入门小案例
大家好,随着互联网的快速发展,数据成为了新时代的石油。Python作为一种高效、易学的编程语言,在数据采集领域有着广泛的应用。本文将详细讲解Python爬虫的原理、常用库以及实战案例,帮助读者掌握爬虫技能。 一、爬虫原理 爬虫&a…...
linux 利用 ~$() 构造数字
2024.6.1 题目 <?php //flag in 12.php error_reporting(0); if(isset($_GET[x])){$x $_GET[x];if(!preg_match("/[a-z0-9;|#\"%&\x09\x0a><.,?*\-\\[\]]/i", $x)){system("cat ".$x.".php");} }else{highlight_file(__F…...
七大获取免费https的方式
想要实现https访问最简单有效的的方法就是安装SSL证书。只要证书正常安装上以后,浏览器就不会出现网站不安全提示或者访问被拦截的情况。下面我来教大家怎么去获取免费的SSL证书,又如何安装证书实现https访问。 一、选择免费SSL证书提供商 有多家机构提…...
JVM(Java虚拟机)笔记
面试常见: 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取?怎么分析Dump文件?谈谈JVM中,类加载器你的认识…...
秒杀基本功能开发(显示商品列表和商品详情)
文章目录 1.数据库表设计1.商品表2.秒杀商品表3.修改一下秒杀时间为今天到明天 2.pojo和vo编写1.com/sxs/seckill/pojo/Goods.java2.com/sxs/seckill/pojo/SeckillGoods.java3.com/sxs/seckill/vo/GoodsVo.java 3.Mapper编写1.GoodsMapper.java2.GoodsMapper.xml3.分别编写Seck…...
centos 记录用户登陆ip和执行命令
centos 记录用户登陆ip和执行命令 在/etc/profile 文件末尾添加如下代码: #!/bin/bash USER_IPwho -u am i 2>/dev/null | awk {print $NF} | sed -e s/[()]//g HISTDIR/usr/share/.history if [ -z "$USER_IP" ]; then USER_IPhostname fi…...
JZ2440笔记:DM9000C网卡驱动
在厂家提供的dm9dev9000c.c上修改, 1、注释掉#ifdef MODULE #endif 2、用模块化函数修饰入口出口函数 3、在dm9000c_init入口函数,增加iobase (int)ioremap(0x20000000,1024);irq IRQ_EINT7; 4、一路进入,在dmfe_probe1中注释掉if((db…...
【数据结构】二叉树:简约和复杂的交织之美
专栏引入: 哈喽大家好,我是野生的编程萌新,首先感谢大家的观看。数据结构的学习者大多有这样的想法:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学的很累…...
信号稳定,性能卓越!德思特礁鲨系列MiMo天线正式发布!
作者介绍 礁鲨系列天线,以其独特的外观设计和强大的性能,成为德思特Panorama智能天线家族的最新成员。这款天线不仅稳定提供5G、WIFI和GNSS信号,更能在各类复杂环境中展现出卓越的性能。它的设计灵感来源于海洋中的礁鲨,象征着力量…...
编程学习技巧——实战
目录 学习思路待续、更新中 学习思路 实战大小项目 翻阅官网手册——学习技术,调试问题 待续、更新中 1 顿号、: 先使用ctrl. ,再使用一遍切回 2 下标: 21 2~1~ 3 上标: 2 0 2^{0} 20 $2^{0}$ 4 竖线 | : | ; | 5 空格: &emsp ; 6 换行: &nbs…...
GPU学习(1)
一、为什么要GPU 我们先看一个基本的神经网络计算 YF(x)AxB 这就是一次乘法一次加法 ,也叫FMA,(fused multiply-add) 如果矩阵乘,就是上面的那个式子扩展一下,所以又用了这张老图 比如你要多执行好几个yAxB,可能比较简…...
TQSDRPI开发板教程:UDP收发测试
项目资源分享 链接:https://pan.baidu.com/s/1gWNSA9czrGwUYJXdeuOwgQ 提取码:tfo0 LWIP自环教程:https://blog.csdn.net/mcupro/article/details/139350727?spm1001.2014.3001.5501 在lwip自环的基础上修改代码实现UDP的收发测试。新建一…...
opencv进阶 ——(九)图像处理之人脸修复祛马赛克算法CodeFormer
算法简介 CodeFormer是一种基于AI技术深度学习的人脸复原模型,由南洋理工大学和商汤科技联合研究中心联合开发,它能够接收模糊或马赛克图像作为输入,并生成更清晰的原始图像。算法源码地址:https://github.com/sczhou/CodeFormer…...
虚拟机改IP地址
使用场景:当你从另一台电脑复制一个VMware虚拟机过来,就是遇到一个问题,虚拟的IP地址不一样(比如,一个是192.168.1.3,另一个是192.168.2.4,由于‘1’和‘2’不同,不是同一网段&#…...
MySQL(二)-基础操作
一、约束 有时候,数据库中数据是有约束的,比如 性别列,你不能填一些奇奇怪怪的数据~ 如果靠人为的来对数据进行检索约束的话,肯定是不行的,人肯定会犯错~因此就需要让计算机对插入的数据进行约束要求! 约…...
vue3学习使用笔记
1.学习参考资料 vue3菜鸟教程:https://www.runoob.com/vue3/vue3-tutorial.html 官方网站:https://cn.vuejs.org/ 中文文档: https://cn.vuejs.org/guide/introduction.html Webpack 入门教程:https://www.runoob.com/w3cnote/webpack-tutor…...
微信小程序怎么进行页面传参
微信小程序页面传参的方式有多种,每种方式都有其特定的使用场景和优势。以下是几种常见的页面传参方式,以及它们的具体使用方法和示例: URL参数传值 原理:通过在跳转链接中附加参数,在目标页面的onLoad函数中获取参数…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
