鼠标进入/离开事件

鼠标进入事件

该事件类型对应的枚举:QEvent::Enter

即鼠标进入到窗口/某个控件内部时,会触发该事件,该事件对应的子类是QEnterEvent

需要重写的函数:

void enterEvent(QEnterEvent* event) override;

鼠标离开事件

该事件类型对应的枚举:QEvent::Leave

即当鼠标离开窗口/某个控件内部时,会触发该事件

需要重写的函数:

void leaveEvent(QEvent* event) override;

使用场景

1.需要鼠标进入/离开某个窗口后,进行某些操作;比如鼠标进入/离开窗口,某些控件的文字改变,大小改变等等;那么就去重写上面2个函数,在这两个函数中完成你要的操作

2.自定义控件时,你希望这个控件有自己的鼠标进入/离开对应的操作,那么就在该自定义控件类中重写上面2个函数,来完成定制化的操作

举例

有一个自定义的MyLabel控件,继承自QLabel,鼠标在进入和离开MyLabel时其显示的文本都会改变

class MyLabel : public QLabel
{
    Q_OBJECT
public:
    explicit MyLabel(QWidget *parent = nullptr):QLabel(parent){}

protected:
    void enterEvent(QEnterEvent* event) override
    {
        //鼠标每次进入这个MyLabel控件时,显示的文本改变
        setText("鼠标进入!");
        
    }
    void leaveEvent(QEvent* event) override
    {
        //鼠标每次离开这个MyLabel控件时,显示的文本改变
        setText("鼠标离开!");
    }


signals:
};

根据你的需求举一反三,在鼠标进入和离开时还想做什么操作追加进去就行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值