[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