我用自定义的myLabel类继承pyqt中的QLabel类,然后在myLabel类中重载了鼠标按下事件函数,在这一函数中实现了判断左右中键按下的代码。
from PyQt5 import QtCore, QtGui, QtWidgets, QtMultimedia
class myLabel (QtWidgets.QLabel): # 自定义的QLabel类
def __init__(self, parent=None):
super (myLabel, self).__init__ (parent)
def mousePressEvent(self, e): ##重载一下鼠标点击事件
# 左键按下
if e.buttons () == QtCore.Qt.LeftButton:
self.setText ("左")
# 右键按下
elif e.buttons () == QtCore.Qt.RightButton:
self.setText ("右")
# 中键按下
elif e.buttons () == QtCore.Qt.MidButton:
self.setText ("中")
# 左右键同时按下
elif e.buttons () == QtCore.Qt.LeftButton | QtCore.Qt.RightButton:
self.setText ("左右")
# 左中键同时按下
elif e.buttons () == QtCore.Qt.LeftButton | QtCore.Qt.MidButton:
self.setText ("左中")
# 右中键同时按下
elif e.buttons () == QtCore.Qt.MidButton | QtCore.Qt.RightButton: