文章目录
QEvent::Enter
鼠标进入事件,当鼠标进入到窗口/控件内部时,触发该事件,它对应的子类是QEnterEvent
QEvent::Leave
鼠标离开事件,当鼠标离开到窗口/控件内部时,触发该事件
1. 通过自定义控件实现
自定义一个标签控件LabelX
,让它继承自QLabel
,然后重写父类的enterEvent
和leaveEvent
。
1.1 添加自定义控件类LabelX
代码如下:
// 在LabelX.h 中
#ifndef LABELX_H
#define LABELX_H
#include <QDebug>
#include <QLabel>
class LabelX : public QLabel {
Q_OBJECT
public:
explicit LabelX(QWidget *parent = nullptr);
protected:
// 重写父类的方法
void enterEvent(QEnterEvent *event);
void leaveEvent(QEvent *event);
signals:
};
#endif // LABELX_H
// 在LabelX.cpp 中
#include "labelx.h"
LabelX::LabelX(QWidget *parent) : QLabel{parent} {}
static int cnt = 1