參考 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_OBJECT public: explicit ClickableLabel(QWidget* parent = 0) :QLabel(parent){ setText(""); }; ~ClickableLabel(); signals: void clicked(); protected: void mousePressEvent(QMouseEvent* event){ emit clicked(); } };
ClickableLabel.cpp
#include "ClickableLabel.h" ClickableLabel::~ClickableLabel(){};
2.使用ClickableLabel取代QLabel