Bonjour,
J'ai importer un projet source sur QT qui possède une interface graphique. Cependant celle-ci pose problème lors de la compile (voir erreur ci-dessous) :
Cette erreur se produit dans le code généré de l'interface graphique (je pense qu'il s'agit de ça ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [......]\debug\moc_mainwindow.cpp:83: erreur : undefined reference to `MainWindow::on_pushButton_color_clicked()' error: ld returned 1 exit status
MainWindow (genere) :
Voici le code de la classe mainwindow.cpp (en partie) :
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 void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) { if (_c == QMetaObject::InvokeMetaMethod) { MainWindow *_t = static_cast<MainWindow *>(_o); switch (_id) { case 0: _t->on_pushButton_color_clicked(); break; case 1: _t->processColorDetection(); break; case 2: _t->on_verticalSlider_Threshold_valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: _t->setColor(); break; case 4: _t->setImage(); break; default: ; } } }
Et enfin la définition du widget dans qt :
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 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //select color connect(ui->pushButton_color, SIGNAL(clicked()), this, SLOT(setColor())); connect(ui->actionChoose_Color, SIGNAL(triggered()), this, SLOT(setColor())); //open image connect(ui->pushButton_openImage, SIGNAL(clicked()), this, SLOT(setImage())); connect(ui->actionOpen_Image, SIGNAL(triggered()), this, SLOT(setImage())); //process Color Detection connect(ui->pushButton_process, SIGNAL(clicked()), this, SLOT(processColorDetection())); connect(ui->actionProcess, SIGNAL(triggered()), this, SLOT(processColorDetection())); }
Apparemment il n'arrive pas à faire le lien entre la définition du signal "click" dans la classe .cpp et la méthode on_click sur l'interface graphique généré?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <widget class="QPushButton" name="pushButton_color"> <property name="geometry"> <rect> <x>10</x> <y>40</y> <width>81</width> <height>23</height> </rect> </property> <property name="text"> <string>Select Color</string> </property> </widget>
Comment puis-je résoudre ce problème?
Partager