Qt 为QPushButton、QLabel添加鼠标移入移出事件

本文介绍了如何在Qt中为QPushButton和QLabel添加鼠标移入移出事件,通过创建自定义类并重写相关事件,实现字体颜色变化和文字显示隐藏。在实际操作中,可能会遇到闪烁问题,作者提出了这个问题并邀请读者交流解决方案。
摘要由CSDN通过智能技术生成

QT 为QPushButton、QLabel添加鼠标移入移出事件

**要实现的效果:**鼠标移入QPushButton时与移出时按钮变换字体颜色,鼠标移入QLabel时显示上面的文字,移出时不显示。
**方法:**由于Qt自带的QPushButton和QLabel没有鼠标事件这一属性,我们需要重新定义两个类别,分别继承自QPushButton和QLabel,然后在新的类别里面再重写鼠标移入移出事件。

下面我新建了一个名字是 a 的工程,然后在头文件和源文件里分别添加mybutton.h mylabel.h和mybutton.cpp mylabel.cpp,分别新定义了MyButton类和MyLabel类。
工程文件列表如下:
在这里插入图片描述
mybutton.h

#ifndef MYBUTTON_H
#define MYBUTTON_H
#include<QPushButton>
#include<QEvent>

class MyButton :public QPushButton
{
   
Q_OBJECT;
public:
    MyButton(QWidget *parent = 0);
    ~MyButton();
public:
    void enterEvent(QEvent *e); //鼠标进入事件
    void leaveEvent(QEvent *e);//鼠标离开事件
};
#endif // MYBUTTON_H

mylabel.h

#ifndef MYLABEL_H
#define MYLABEL_H

#include<QLabel>
#include<QEvent>

class MyLabel :public QLabel
{
   
Q_OBJECT;
public:
    MyLabel(QWidget *parent = 0);
    ~MyLabel();
public:
    void enterEvent(QEvent *e);//鼠标进入事件
    void leaveEvent(QEvent *
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值