在 PyQt5 中,要处理 QPushButton 的鼠标事件,你需要创建一个自定义按钮类并重写相应的事件处理方法
import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButtonfrom PyQt5.QtCore import Qtclass CustomButton(QPushButton): def __init__(self, text, parent=None): super().__init__(text, parent) def mousePressEvent(self, event): if event.button() == Qt.LeftButton: print("左键点击") elif event.button() == Qt.RightButton: print("右键点击") super().mousePressEvent(event) def mouseReleaseEvent(self, event): if event.button() == Qt.LeftButton: print("左键释放") elif event.button() == Qt.RightButton: print("右键释放") super().mouseReleaseEvent(event) def mouseDoubleClickEvent(self, event): if event.button() == Qt.LeftButton: print("左键双击") elif event.button() == Qt.RightButton: print("右键双击") super().mouseDoubleClickEvent(event)app = QApplication(sys.argv)window = QWidget()layout = QVBoxLayout(window)custom_button = CustomButton("点击我")layout.addWidget(custom_button)window.setLayout(layout)window.show()sys.exit(app.exec_())在这个示例中,我们创建了一个名为 CustomButton 的自定义按钮类,它继承自 QPushButton。然后,我们重写了 mousePressEvent、mouseReleaseEvent 和 mouseDoubleClickEvent 方法,以便在不同的鼠标事件发生时打印相应的信息。最后,我们将自定义按钮添加到主窗口中并显示它。


