python qpushbutton的鼠标事件处理

avatar
作者
猴君
阅读量:0

在 PyQt5 中,要处理 QPushButton 的鼠标事件,你需要创建一个自定义按钮类并重写相应的事件处理方法

import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton from PyQt5.QtCore import Qt  class 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。然后,我们重写了 mousePressEventmouseReleaseEventmouseDoubleClickEvent 方法,以便在不同的鼠标事件发生时打印相应的信息。最后,我们将自定义按钮添加到主窗口中并显示它。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!