Bonjour,

J'ai fait une erreur mais je n'arrive pas a la cerner.
Je suis entrain de développer un application C++/Qt en utilisant le designer.

Voici les fichiers :

Le fichier généré par uic (ui_winMain.h) :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 
/********************************************************************************
** Form generated from reading ui file 'winMain.ui'
**
** Created: Thu 20. Mar 15:37:18 2008
**      by: Qt User Interface Compiler version 4.3.4
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
 
#ifndef UI_WINMAIN_H
#define UI_WINMAIN_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QTreeWidget>
#include <QtGui/QWidget>
 
class Ui_ui_winMain
{
public:
    QAction *actionAjouter;
    QAction *actionVider;
    QWidget *centralwidget;
    QTreeWidget *treeWidget;
    QMenuBar *menubar;
    QMenu *menuArticles;
    QStatusBar *statusbar;
 
    void setupUi(QMainWindow *ui_winMain)
    {
    if (ui_winMain->objectName().isEmpty())
        ui_winMain->setObjectName(QString::fromUtf8("ui_winMain"));
    ui_winMain->resize(671, 474);
    actionAjouter = new QAction(ui_winMain);
    actionAjouter->setObjectName(QString::fromUtf8("actionAjouter"));
    actionVider = new QAction(ui_winMain);
    actionVider->setObjectName(QString::fromUtf8("actionVider"));
    centralwidget = new QWidget(ui_winMain);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    treeWidget = new QTreeWidget(centralwidget);
    treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
    treeWidget->setGeometry(QRect(10, 10, 651, 192));
    treeWidget->setRootIsDecorated(false);
    treeWidget->setItemsExpandable(false);
    ui_winMain->setCentralWidget(centralwidget);
    menubar = new QMenuBar(ui_winMain);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 671, 21));
    menuArticles = new QMenu(menubar);
    menuArticles->setObjectName(QString::fromUtf8("menuArticles"));
    ui_winMain->setMenuBar(menubar);
    statusbar = new QStatusBar(ui_winMain);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    ui_winMain->setStatusBar(statusbar);
 
    menubar->addAction(menuArticles->menuAction());
    menuArticles->addAction(actionAjouter);
    menuArticles->addAction(actionVider);
 
    retranslateUi(ui_winMain);
 
    QMetaObject::connectSlotsByName(ui_winMain);
    } // setupUi
 
    void retranslateUi(QMainWindow *ui_winMain)
    {
    ui_winMain->setWindowTitle(QApplication::translate("ui_winMain", "Logith\303\250que", 0, QApplication::UnicodeUTF8));
    actionAjouter->setText(QApplication::translate("ui_winMain", "Ajouter", 0, QApplication::UnicodeUTF8));
    actionVider->setText(QApplication::translate("ui_winMain", "Vider", 0, QApplication::UnicodeUTF8));
    treeWidget->headerItem()->setText(0, QApplication::translate("ui_winMain", "R\303\251f\303\251rence", 0, QApplication::UnicodeUTF8));
    treeWidget->headerItem()->setText(1, QApplication::translate("ui_winMain", "D\303\251signation", 0, QApplication::UnicodeUTF8));
    treeWidget->headerItem()->setText(2, QApplication::translate("ui_winMain", "Quantiti\303\251", 0, QApplication::UnicodeUTF8));
    treeWidget->headerItem()->setText(3, QApplication::translate("ui_winMain", "prixHT", 0, QApplication::UnicodeUTF8));
    treeWidget->headerItem()->setText(4, QApplication::translate("ui_winMain", "prixTTC", 0, QApplication::UnicodeUTF8));
    menuArticles->setTitle(QApplication::translate("ui_winMain", "Articles", 0, QApplication::UnicodeUTF8));
    } // retranslateUi
 
};
 
namespace Ui {
    class ui_winMain: public Ui_ui_winMain {};
} // namespace Ui
 
#endif // UI_WINMAIN_H
Un fichier qui complète la définition (impl_winMain.h) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "ui_winMain.h"
 
namespace Impl
{
    class impl_winMain : public Ui::ui_winMain
    {
        Q_OBJECT
 
        public:
            impl_winMain();
        public slots:
        void test();
    };
}
Puis implémentation (impl_winMain.cpp) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include "impl_winMain.h"
 
namespace Impl
{
    impl_winMain::impl_winMain()
    {
      connect(this, SIGNAL(clicked()), this, SLOT(quit()));
    }
}
L'erreur de compilation est :
error: `connect' undeclared (first use this function)|
J'ai tenté avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include "impl_winMain.h"
 
namespace Impl
{
    impl_winMain::impl_winMain() :QMainWindow()
    {
      connect(this, SIGNAL(clicked()), this, SLOT(quit()));
    }
}
Le message d'erreur est alors :
error: type `class QMainWindow' is not a direct base of `Impl::impl_winMain'|
Je me suis apuillé sur http://matthieu-brucher.developpez.c...t/signal-slot/

J'ai certainement oublier quelque chose mais la ca fait un moment que je cherche je trouve pas :/

Merci d'avance.