参考 http://qt-project.org/wiki/Make-a-QLabel-Clickable
1.首先重载QLabel的mousePressEvent,这样点击QLabel时就能发出clicked()信号,将信号connect到自定义的slot就可以了
ClickableLabel.h
#pragma once
#include "qlabel.h"
#include <QMouseEvent>class ClickableLabel : public QLabel{
Q_OBJECTpublic:
explicit ClickableLabel(QWidget* parent = ) :QLabel(parent){
setText("");
};
~ClickableLabel();
signals:
void clicked();
protected:
void mousePressEvent(QMouseEvent* event){
emit clicked();
}
};
ClickableLabel.cpp
#include "ClickableLabel.h"ClickableLabel::~ClickableLabel(){};
2.使用ClickableLabel取代QLabel