Problème d'accès à des objets créés avec QtDesigner dans une classe extérieure
Bonjour,
je travail sur un projet utilisant Qt pour creer un Wizard.
Je voudrais creer un set de QPageWizard à l'aide de l'outil QtDesigner et les réutiliser ensuite dans une classe héritant de Qwizard que j'ai creer (sans utiliser l'outil designer).
En particulier j'ai besoin de connecter des signaux provenant des éléments des pages de mon Wizard à des slots définie dans mon Wizard (car utilisant des attributs définie dans le Wizard dont j'aurai besoin pour toutes les pages, j'espère que c'est suffisament clair :?)
Mon problème : à la compilation j'obtiens les erreures suivantes :
invalid use of incomplete type ‘struct Ui::IntroPage’|
forward declaration of ‘struct Ui::IntroPage’|
||=== Build finished: 2 errors, 0 warnings ===|
voilà les différents bouts de code que j'utilise :
Wizard.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#ifndefine ...blabla
#include "IntroPage.h"
#include <QtGui>
class Wizard : public QWizard
{
Q_OBJECT
public:
explicit Wizard(QWidget *parent = 0);
protected slots:
void parcourirCliked();
...
};
#endif |
Wizard.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#include "Wizard.h"
#include "IntroPage.h"
Wizard::Wizard(QWidget *parent) : QWizard(parent), d(new WizardData), introPage(new IntroPage),
{
...
setOption(NoCancelButton);
setOption(NoBackButtonOnStartPage);
setOption(HaveHelpButton);
addPage(introPage);
...
QObject::connect(introPage->ui->parcourirButton, SIGNAL(cliked()), this, SLOT(parcourirCliked()));
...
} |
IntroPage.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #ifndef IntroPage_H
#define IntroPage_H
#include <QtGui>
namespace Ui {
class IntroPage;
}
class IntroPage : public QWizardPage
{
Q_OBJECT
public:
explicit IntroPage(QWizardPage *parent = 0);
Ui::IntroPage *ui;
};
#endif // IntroPage_H |
et IntroPage.cpp
Code:
1 2 3 4 5 6 7 8 9
| #include "IntroPage.h"
#include "ui_IntroPage.h"
IntroPage::IntroPage(QWizardPage *parent) : QWizardPage(parent),
ui(new Ui::IntroPage)
{
ui->setupUi(this);
} |
Le problème viens clairement de mon connect, je ne sais pas acceder à mon bouton parcourirButton creer avec QtDesigner :cry:.
En fait je ne sais pas comment acceder aux objets définis dans le fichier ui_IntroPage.h
Est ce que c'est simplement impossible tel que je m'y prend?? Est ce que le problème viens du fait que ces objets n'existent pas tant que la fonction setupUI() n'a pas été appelée?
Après qulelque recherche sur le web, j'ai l'impression que je pourrais peut être m'en sortir avec des déclarations de classes anticipées, je me trompe ?
Je précise que je ne programme pas beaucoup et que c'est la premiere fois que je me lance dans un projet aussi "gros". ne soyez pas trop sévère avec moi si j'ai fait des bétises SVP, je vous promet j'ai fait des recherches avant de poster :).
Merci,
René-paul.