Qt之重写QLabel类

在mylabel.h 文件中
#ifndef MYLABEL_H
#define MYLABEL_H

#include <QLabel>
/*重新实现QLabel类,使其支持点击事件*/
class MyLabel : public QLabel
{
Q_OBJECT
public:
explicit MyLabel(QWidget *parent = 0);

protected:
virtual void mouseReleaseEvent(QMouseEvent *ev);
signals:
void clicked();
public slots:

};

#endif // MYLABEL_H
在mylabel.h文件中
#include "mylabel.h"

MyLabel::MyLabel(QWidget *parent) :
QLabel(parent)
{
}
void MyLabel::mouseReleaseEvent(QMouseEvent *ev)
{
Q_UNUSED(ev);
emit clicked();
}
再讲Qt designer中的组件提升为就可以了
添加点击事件成功

The future's not set,there is no fate but what we make for ourselves.
原文地址:https://www.cnblogs.com/wang1994/p/5942046.html