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 :
mainwindow.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
J'ai le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"); }
Pourquoi il ne trouve pas le signal ?Démarrage de I:\Programmation\C++\uilabelclicked\TEST17\debug\TEST17.exe...Object::connect: No such signal QLabel::MyLabel::clicked() in mainwindow.cpp:11
Cordialement
Partager