pyqt鼠标双击事件
时间: 2024-10-01 12:07:08 浏览: 3
PyQt是一个用于Python语言的跨平台图形用户界面应用程序开发工具包,它基于Qt库。在PyQt中,你可以通过监听特定的鼠标事件来处理用户的交互,包括双击事件。要实现鼠标双击事件,你需要创建一个`QObject`的子类,然后连接到`QMouseEvent`类型的信号,特别是`QDoubleClicked`信号。
下面是一个简单的例子:
```python
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtCore import Qt, pyqtSignal
class MyWidget(QWidget):
double_clicked = pyqtSignal() # 定义双击信号
def __init__(self):
super().__init__()
self.setMouseTracking(True) # 开启鼠标跟踪,以便捕获所有点击事件
# 连接鼠标双击信号
self.mouseDoubleClickEvent = self.double_clicked.connect(self.on_double_click)
def on_double_click(self):
print("鼠标双击了!")
self.double_clicked.disconnect() # 断开连接,防止多次触发
if __name__ == "__main__":
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
在这个示例中,当你双击MyWidget窗口时,会打印出"鼠标双击了!",并且每次双击后都会自动断开信号连接,避免连续触发。