鼠标形状事件
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv)
win = QWidget()
win.setWindowTitle("鼠标操作")
win.resize(500, 500)
pixmap =QPixmap('1.jpg')
new_pixmap = pixmap.scaled(50, 50) # 调整图片的大小
cursor = QCursor(new_pixmap, 0, 0) #0,0代表到窗口立马变成箭头
win.setCursor(cursor)
win.unsetCursor() # 重置鼠标
# win.setCursor(Qt.BusyCursor) # 用户操作区鼠标繁忙
lable = QLabel(win)
lable.setText("PYQT5好难")
lable.resize(100, 100)
lable.setStyleSheet("background-color: green;")
lable.setCursor(Qt.BusyCursor) # Lable区域鼠标繁忙
lable.unsetCursor() # 重置鼠标
win.show()
sys.exit(app.exec_())
# setCursor设置鼠标的方法、
# Qt.BusyCursor 设置什么样子的鼠标
# unsetCursor 重置鼠标,是鼠标恢复原样
鼠标跟踪事件
鼠标不跟踪案例
from PyQt5.Qt import *
import sys
class MyWindow(QWidget):
# mouseMoveEvent鼠标左键按下去,则开始移动
def mouseMoveEvent(self, a0) -> None:
print("鼠标移动了")
app = QApplication(sys.argv)
win = MyWindow()
win.setWindowTitle("鼠标操作")
win.resize(500, 500)
print("鼠标是否为跟踪状态:", win.hasMouseTracking()) # False为不跟踪状态
win.show()
sys.exit(app.exec_())
鼠标跟踪案例 setMouseTracking
from PyQt5.Qt import *
import sys
class MyWindow(QWidget):
# mouseMoveEvent鼠标左键按下去,则开始移动
def mouseMoveEvent(self, a0) -> None:
print("鼠标移动了")
app = QApplication(sys.argv)
win = MyWindow()
win.setWindowTitle("鼠标操作")
win.resize(500, 500)
win.setMouseTracking(True) # 设置鼠标为跟踪状态
print("鼠标是否为跟踪状态:", win.hasMouseTracking())
win.show()
sys.exit(app.exec_())
获取鼠标的位置 分为:全局 和 局部文章来源:https://uudwc.com/A/pLgmr
from PyQt5.Qt import *
import sys
class MyWindow(QWidget):
# mouseMoveEvent鼠标左键按下去,则开始移动
def mouseMoveEvent(self, a0) -> None:
print("鼠标移动了")
# print("鼠标移动的位置为:",a0.globalPos(),"globalPos方法为全局,从桌面左上角开始算起始位置")
print("鼠标的移动位置为:",a0.localPos(),"localPos方法为局部,从用户操作区左上角开始为起始位置")
app = QApplication(sys.argv)
win = MyWindow()
win.setWindowTitle("鼠标操作")
win.resize(500, 500)
win.setMouseTracking(True) # 设置鼠标为跟踪状态
print("鼠标是否为跟踪状态:", win.hasMouseTracking())
win.show()
sys.exit(app.exec_())
案例 内容跟鼠标位置移动
from PyQt5.Qt import *
import sys
class MyQwidget(QWidget):
def mouseMoveEvent(self, a0) -> None:
print("鼠标的位置为:",a0.localPos())
lable.move(a0.localPos().x(), a0.localPos().y())
app = QApplication(sys.argv)
win = MyQwidget()
win.setWindowTitle("鼠标操作的相关案例")
win.resize(500, 500)
win.move(200, 200)
win.setMouseTracking(True)
lable = QLabel(win)
lable.setText("社会我顺哥")
lable.move(100, 100)
lable.setStyleSheet("background-color: cyan")
win.show()
sys.exit(app.exec_())
文章来源地址https://uudwc.com/A/pLgmr