DEVCPP et QT4 => question d un debutant

DEVCPP et QT4 => question d un debutant - C++ - Programmation

Marsh Posté le 19-07-2006 à 20:17:55    

Bonjour,
 
J'ai codé un projet qui utilise QT4 tout simple que voila :
 
#include <QApplication>
#include <fenetre.h>
 
int main( int argc, char **argv )
{
    QApplication a( argc, argv );
 
 fenetre pFenCalcul;
 
    a.setMainWidget(&pFenCalcul);
 
 pFenCalcul.show();
 
    return a.exec();
 
}
 
 
et dès la 2eme ligne de mon main.cpp, j'obtiens l'erreur suivante :
"C:\Developpement\test\main.cpp In file included from main.cpp "
 
Qu'est ce que cela signifie??
 
merci ^^

Reply

Marsh Posté le 19-07-2006 à 20:17:55   

Reply

Marsh Posté le 19-07-2006 à 20:37:43    

Salut,
Là, tu nous dit pas l'erreur, tu nous qu'il y a une erreur dans main.cpp. Si tu peux nous en montrer plus, c'est pas de refus :)

Reply

Marsh Posté le 19-07-2006 à 21:01:11    

IrmatDen a écrit :

Salut,
Là, tu nous dit pas l'erreur, tu nous qu'il y a une erreur dans main.cpp. Si tu peux nous en montrer plus, c'est pas de refus :)


 
 
je pense que c est fenetre.h que tu desires voir??
 
dans tous les cas, merci pour la moindre piste qui me sera donnee!!
 
****************************************************************
****************************************************************
#ifndef FENETRE_H
#define FENETRE_H
#include "ui_fenetre.h"
 
class fenetre : public ui_fenetre
{                                               => erreur : expected class-name before '{' token  
 Q_OBJECT
 
protected:
 
 double resultat_addition; // pas encore utilise ^^
 
public:
 
 //////////////////////////////////
 // Constructeurs et destructeur //
 //////////////////////////////////
 
 //! Constructeur
 fenetre (QWidget *parent=0, const char *name=0, bool modal = FALSE, WFlags fl = 0);
 
 //! Destructeur
 ~fenetre ();
 
};
 
#endif // FENETRE_H
****************************************************************
****************************************************************
 
 
et voici mon ui_fenetre.h :
 
****************************************************************
****************************************************************
#ifndef UI_FENETRE_H
#define UI_FENETRE_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
 
class Ui_Form
{
public:
    QPushButton *pushButton;
 
    void setupUi(QWidget *Form)
    {
    Form->setObjectName(QString::fromUtf8("Form" ));
    Form->resize(QSize(400, 300).expandedTo(Form->minimumSizeHint()));
    pushButton = new QPushButton(Form);
    pushButton->setObjectName(QString::fromUtf8("pushButton" ));
    pushButton->setGeometry(QRect(160, 120, 75, 23));
    retranslateUi(Form);
 
    QMetaObject::connectSlotsByName(Form);
    } // setupUi
 
    void retranslateUi(QWidget *Form)
    {
    Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("Form", "OK", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(Form);
    } // retranslateUi
 
};
 
namespace Ui {
    class Form: public Ui_Form {};
} // namespace Ui
 
#endif // UI_FENETRE_H
****************************************************************
****************************************************************

Reply

Marsh Posté le 19-07-2006 à 21:27:09    

C'est parce que ta classe ui_fenetre est déclarée dans le namespace Ui par Qt. Si on s'en réfère à ces lignes:

Code :
  1. namespace Ui {
  2.     class Form: public Ui_Form {};
  3. } // namespace Ui


Il faudra que tu déclares fenetre comme ça:

Code :
  1. class fenetre : public Ui::Form


 
Pour ce dernier point, je n'y mettrais pas la main à couper car je ne touche pas au designer. Je te recommanderais plutôt de lire cette page de la doc qui explique très bien comment utiliser un form dans une appli.
 
Edit: si tu peux penser à utiliser la balise code (le bouton C/C++ au dessus de la zone de saisie de ton message) la prochaine fois, c'est cool ;)


Message édité par IrmatDen le 19-07-2006 à 21:28:06
Reply

Marsh Posté le 19-07-2006 à 21:29:04    

merci beaucoup je vais jeter un coup d oeil ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed