Signal de clic pour un QLabel
Bonjour,
J'essaye de comprendre comment faire que ui->Qlabel (qtdesigner), prenne en compte le signal on_label_clicked() :
J'ai trouvé cette exemple :
Mainwindow.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #ifndef MYQTAPP_H
#define MYQTAPP_H
#include "ui_MainWindow.h"
class myQtApp : public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
myQtApp(QWidget *parent = 0);
public slots:
void doSomething();
};
class MyLabel : public QLabel
{
Q_OBJECT
protected:
void mousePressEvent(QMouseEvent * e);
signals:
void clicked(const QPoint & pos);
};
#endif |
mainwindow.cpp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <QtGui>
#include "mainwindow.h"
myQtApp::myQtApp(QWidget *parent)
{
setupUi(this); // this sets up GUI
connect( MyLabel, SIGNAL( clicked() ), this, SLOT( doSomething() ) );
}
void MyLabel::mousePressEvent(QMouseEvent * e)
{
QLabel::mousePressEvent(e);
emit clicked(e->pos());
}
void myQtApp::doSomething()
{
qDebug("Hello");
} |
J'ai le message d'erreur suivant :
Citation:
Démarrage de I:\Programmation\C++\uilabelclicked\TEST17\debug\TEST17.exe...Object::connect: No such signal QLabel::MyLabel::clicked() in mainwindow.cpp:11
Pourquoi il ne trouve pas le signal ?
Cordialement