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中的组件提升为就可以了
添加点击事件成功

posted @ 2016-10-09 14:12  努力飞的小菜鸟  阅读(6678)  评论(0编辑  收藏  举报