[C++/Qt] Créer son QLabel pour signal Clicked
Résolu
Vinc0016
-
Boz129 -
Boz129 -
Bonjour,
Je suis en train de faire une petite application en C++ avec Qt et je cherche à avoir le signal Clicked sur un QLabel. Comme il n'existe pas, j'ai pensé à créer mon propre QLabel et y redéfinir la fonction mouseReleaseEvent. Malheureusement, je n'y arrive pas.
Voici le code de mon MyLabel.h :
Le code de mon MyLabel.cpp :
Je ne vois pas ce que j'ai fait de mal et pourtant ça ne compile pas. J'ai 2 erreurs que voici :
La première concerne le constructeur que j'ai repris et la seconde concerne l'utilisation de QMouseEvent.
Pouvez-vous m'éclairer ?
Merci
Je suis en train de faire une petite application en C++ avec Qt et je cherche à avoir le signal Clicked sur un QLabel. Comme il n'existe pas, j'ai pensé à créer mon propre QLabel et y redéfinir la fonction mouseReleaseEvent. Malheureusement, je n'y arrive pas.
Voici le code de mon MyLabel.h :
#ifndef DEF_MYLABEL
#define DEF_MYLABEL
#include <QLabel>
class MyLabel: public QLabel
{
Q_OBJECT
public:
MyLabel();
MyLabel(QWidget *parent);
signals:
void clicked();
protected:
virtual void mouseReleaseEvent(QMouseEvent *);
};
#endif
Le code de mon MyLabel.cpp :
#include "MyLabel.h"
MyLabel::MyLabel(): QLabel()
{}
MyLabel::MyLabel(QWidget *parent): QLabel(QWidget *parent)
{}
void MyLabel::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
emit clicked();
}
}
Je ne vois pas ce que j'ai fait de mal et pourtant ça ne compile pas. J'ai 2 erreurs que voici :
MyLabel.cpp: In constructor ‘MyLabel::MyLabel(QWidget*)’: MyLabel.cpp:6: error: expected primary-expression before ‘*’ token MyLabel.cpp: In member function ‘virtual void MyLabel::mouseReleaseEvent(QMouseEvent*)’: MyLabel.cpp:11: error: invalid use of incomplete type ‘struct QMouseEvent’ /usr/include/qt4/QtGui/qwidget.h:75: error: forward declaration of ‘struct QMouseEvent’
La première concerne le constructeur que j'ai repris et la seconde concerne l'utilisation de QMouseEvent.
Pouvez-vous m'éclairer ?
Merci
A voir également:
- [C++/Qt] Créer son QLabel pour signal Clicked
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Pas de signal tv - Guide
- Créer un compte gmail - Guide