【PyQT5 最全学习笔记】:第三节 QWidget类 鼠标(QCursor)设置、父子关系及层级关系API及用法实例

本文详细讲解了PyQT5中QWidget类的鼠标设置,包括各种预设形状和自定义形状的使用。接着讨论了父子关系的API和应用场景,如改变子控件背景色。最后探讨了层级控制,如何调整控件的前后顺序,以及实现点击子控件使其升至最上层的功能。通过实例和代码演示,帮助读者深入理解PyQT5的这些关键特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

上一节的内容介绍了QWidget类中窗口创建、大小设置及内容边距等API及用法的知识点。
本节主要对QWidget类中的鼠标设置、父子关系及层级关系进行讲解。

1 鼠标设置API及用法实例

1.1 API一览
项目 说明
setCursor() 设置鼠标形状
unsetCursor() 重置形状
cursor() 获取鼠标
setMouseTracking(bool) 设置鼠标是否跟踪
hasMouseTracking() 判定是否设置了鼠标跟踪
QCursor 鼠标对象
pos() 获取鼠标位置
setPos(x, y) 设置鼠标位置坐标
1.2 PyQT5自带的鼠标形状

在这里插入图片描述
Qt.ArrowCursor
在这里插入图片描述
Qt.UpArrowCursor
在这里插入图片描述
Qt.CrossCursor
在这里插入图片描述
Qt.IBeamCursor
在这里插入图片描述
Qt.WaitCursor
在这里插入图片描述
Qt.BusyCursor
在这里插入图片描述
Qt.ForbiddenCursor
在这里插入图片描述
Qt.PointingHandCursor
在这里插入图片描述
Qt.WhatsThisCursor
在这里插入图片描述
Qt.SizeVerCursor
在这里插入图片描述
Qt.SizeHorCursor
在这里插入图片描述
Qt.SizeBDiagCursor
在这里插入图片描述
Qt.SizeAllCursor
在这里插入图片描述
Qt.SplitVCursor
在这里插入图片描述
Qt.SplitHCursor
在这里插入图片描述
Qt.OpenHandCursor
在这里插入图片描述
Qt.ClosedHandCursor
在这里插入图片描述
Qt.BlankCursor

1.3 API测试

设置鼠标形状:

可以设置整个窗口的鼠标形状,也可以设置窗口中某一控件的鼠标形状。

import sys
from PyQt5.Qt import 
app = QApplication(sys.argv)

window = QWidget()
window.resize(300,200)
# 设置鼠标形状,在窗口中的形状
window.setCursor(Qt.OpenHandCursor)

button = QPushButton(window)
button.move(0,50)
button.setText('按钮控件')
# 设置鼠标在按钮控件上的形状
button.setCursor(Qt.PointingHandCursor)
window.show()

sys.exit(app.exec_())

效果图:

在这里插入图片描述
自定义鼠标形状:

创建通过创建QCursor对象,可以自定义鼠标形状。

QCursor(QPixmap, hotX: int = -1, hotY: int = -1)

QPixmap:图片对象;

hotX 与 hotY :自定义鼠标图像的点击基点,默认值都为:-1,指图片的中心位置。

这里我们引用两张图片:

z1.png
在这里插入图片描述
z2.png
在这里插入图片描述
代码:

window2 = QWidget()
window2.resize(300,200)
window2.setCursor(QCursor(QPixmap('z1.png')))

c2_label = QLabel(window2)
c2_label.setText('标签控件')
c2_label.resize(100,100)
c2_label.setStyleSheet('background-color:red;'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值