pyqt5 鼠标悬停事件
时间: 2023-10-02 15:03:45 浏览: 59
PyQt5中鼠标悬停事件可以通过重载QWidget的`enterEvent()`和`leaveEvent()`方法来实现。当鼠标进入或离开控件区域时,这两个方法会被自动调用。
下面是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QMouseEvent
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('鼠标悬停事件')
def enterEvent(self, event: QMouseEvent):
print('鼠标进入控件区域')
def leaveEvent(self, event: QMouseEvent):
print('鼠标离开控件区域')
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
```
在上面的代码中,我们创建了一个继承自QWidget的自定义控件类MyWidget,并重载了它的`enterEvent()`和`leaveEvent()`方法。当鼠标进入或离开控件区域时,这两个方法会被自动调用,并输出相应的信息到控制台。最后,我们创建了一个应用程序对象并显示了MyWidget控件。
运行这个程序,当鼠标进入或离开MyWidget控件区域时,会在控制台输出相应的信息。