先来看一下只使用mouseMoveEvent()而不设置默认追踪鼠标的效果。
我的mouseMoveEvent是这么写的:
1 | void MyLabel::mouseMoveEvent(QMouseEvent *ev) |
这是效果图:
我设置了如果鼠标点击就会使QLabel里的字体变色的效果。在图中,我一开始滑动鼠标,QLabel并没有任何变化,但是在我拖拽鼠标之后发生了变化。
然后再来看看如何设置默认追踪鼠标的:
1 | MyLabel::MyLabel(QWidget *parent) : QLabel(parent) |
我在构造函数里加了setMouseTracking(true)。
这是效果图:
可以看到,我的鼠标一滑进应用程序框mouseMoveEnvent就立即触发。
本篇完。