2024-09-30 22:26:56 发布
网友
我想同时使用两个事件:mouseDoubleClick和mouseReleaseEvent。但是有一个问题:即使双击鼠标,后一个事件也总是被触发。在
mouseDoubleClick
mouseReleaseEvent
答案在下面。请张贴建议,以帮助我改进此代码。在
from PySide2.QtCore import qApp, QTimer from PySide2.QtWidgets import QApplication, QWidget class Widget(QWidget): def __init__(self): super().__init__() self.timer = QTimer(self) self.timer.setSingleShot(True) self.timer.timeout.connect(self.single_click) self.double_click_interval = qApp.doubleClickInterval() def mouseReleaseEvent(self, e): if not self.timer.isActive(): self.timer.start(self.double_click_interval) else: self.timer.stop() self.double_click() super().mouseReleaseEvent(e) def single_click(self): print("single") def double_click(self): print("double") if __name__ == '__main__': import sys app = QApplication(sys.argv) w = Widget() w.show() w.raise_() sys.exit(app.exec_())
答案在下面。请张贴建议,以帮助我改进此代码。在
相关问题 更多 >
编程相关推荐