当前位置: 首页 PyQt5控件基类QWidget 鼠标操作之鼠标形状和状态设置
add-vip

鼠标操作之鼠标形状和状态设置

一、学习指导

我们在使用别人开发的软件时经常会看到鼠标移动到超链接上就会变成小手,有时候还会有其他各种样式,甚至会变成一张图片,这些都是鼠标的状态和形状操作能够实现的,从这节课开始我们就来通过pyqt5对硬件的实现特定的操作。

下面是通过本节课使用到的代码:

二、代码演示

from PyQt5.Qt import *
import sys
 
class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("鼠标操作")
        self.resize(600,500)
        self.func_list()
 
    def func_list(self):
        self.func()
 
    def func(self):
        label = QLabel(self)
        label.resize(150, 150)
        label.move(50, 50)
        label.setText('标签学习')
        label.setStyleSheet('background-color:green')
        label.setCursor(Qt.DragLinkCursor)
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
 
    pixmap = QPixmap('aaa.png')
    new_pixmap = pixmap.scaled(150,150)
    cursor = QCursor(new_pixmap,120,120)
    window.setCursor(cursor)
 
    window.show()
    sys.exit(app.exec_())

下面这段代码帮助大家更加深刻的理解一下鼠标的状态和形状操作


from PyQt5.Qt import *
import sys

app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('鼠标操作')
window.resize(600, 450)
window.move(300, 300)
# 1.鼠标形状操作
# window.setCursor(Qt.BusyCursor)

# 2.自定义鼠标形状
pixmap = QPixmap('123.jpg')
new_pixmap = pixmap.scaled(5, 5)  # 这个方法通过返回值传递下去,并不是直接改变对象,所以要给一个变量,
cursor = QCursor(new_pixmap, 1, 1)  # 0为图片中型位置,根据mew_pixmap中设置图片的大小来取值
window.setCursor(cursor)  # 从这一步反推上去

# 3.获取鼠标位置和设置鼠标位置
window.cursor().setPos(100, 100)

# 4.鼠标跟踪:下一个文件中

btn = QPushButton(window)
btn.move(60, 60)
btn.resize(50, 35)
btn.setText('按钮控件')
btn.setStyleSheet('background-color:green')

window.show()


btn.setCursor(Qt.DragLinkCursor)
window.setMouseTracking(True)

sys.exit(app.exec_())


相关文章