为QLabel增加Clicked信号

首先从QLabel派生一个类,在其中重载 mouseReleaseEvent 虚函数。并定义clicked信号。


mouseReleaseEvent  函数中发送clicked信号。
代码如下:
#ifndef CUSTOMERQLABEL_H
#define CUSTOMERQLABEL_H
#include <QLabel>
class customerqlabel : public QLabel
{
    Q_OBJECT
public:
    explicit customerqlabel(QWidget *parent=0, Qt::WindowFlags f=0);
    explicit customerqlabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0);
protected:
    /*!
      由Qt自己调用的鼠标事件处理函数,在此发射clicked信号
    */
    virtual void mouseReleaseEvent(QMouseEvent * ev);
signals:
    void clicked(void);
};
#endif // CUSTOMERQLABEL_H


#include "customerqlabel.h"
customerqlabel::customerqlabel(QWidget *parent, Qt::WindowFlags f):
    QLabel(parent,f)
{
}
customerqlabel::customerqlabel(const QString &text, QWidget *parent, Qt::WindowFlags f):
    QLabel(text,parent,f)
{
}
void customerqlabel::mouseReleaseEvent(QMouseEvent * ev)
{
    Q_UNUSED(ev)
    emit clicked();
}

然后在UI界面中右键菜单中选择“提升到”,在对话框中输入对应的派生类名称和头文件。之后单击“添加”按钮
image1.png

然后选中提升后的label,在右键菜单中选择改变信号/槽,在信号中增加 clicked()

Image1.png


然后在转到槽中选择clicked信号即可。



  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值