IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Problème "Objet" is not decared in this scope

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2
    Par défaut Problème "Objet" is not decared in this scope
    Bonjour,

    je suis débutant en Qt 4 et je veux faire un petit programme avec deux QPushButton. Un qui crée une fenetre QWidget et un autre qui ferme la fenetre créée par le premier bouton et qui la supprime en mémoire mais j'ai un problème le compileur me dit que Fenetre2 n'est pas déclarer dans le constructeur et dans le slot closeWin() .

    Voici le fichier .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
    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
     
     
    #include "Header.h"
     
    Test::Test():QWidget()
    {
     
     
     
    Bouton = new QPushButton("Bouton numéro 1 !", this);
    Bouton2 = new QPushButton("Bouton numéro 2 !", this);
     
    Layout1 = new QHBoxLayout;
     
    Layout1->addWidget(Bouton);
    Layout1->addWidget(Bouton2);
    //Layout1->addWidget(Line1);
     
    setLayout(Layout1);
     
    connect(Bouton, SIGNAL(clicked()), this, SLOT(openWin()));
    connect(Bouton2, SIGNAL(clicked()), Fenetre2, SLOT(closeWin()));
     
    }
     
    void Test::openWin()
    {
     
    QWidget *Fenetre2 = new QWidget;
    Fenetre2->show();
    Fenetre2->setFixedSize(300,300);
     
     
     
    }
     
     void Test::closeWin()
    {
     
     
    Fenetre2->hide();
    delete *Fenetre2;
     
     
    }
    sa serait tres sympa de votre part de me dire les fautes que j'ai fait.

    Merci !

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Modifie ton code comme cela :

    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
    Test::Test():QWidget()
    {
     
     
     
    Bouton = new QPushButton("Bouton numéro 1 !", this);
    Bouton2 = new QPushButton("Bouton numéro 2 !", this);
     
    Layout1 = new QHBoxLayout;
     
    Layout1->addWidget(Bouton);
    Layout1->addWidget(Bouton2);
    //Layout1->addWidget(Line1);
     
    setLayout(Layout1);
     
    //Creation de ta fenetre
    //Ne pas oublier de créer une variable fenetre2 en membre de la classe Test (voir ton .h)
    Fenetre2 = new QWidget(this);
     
     
    connect(Bouton, SIGNAL(clicked()), this, SLOT(openWin()));
    connect(Bouton2, SIGNAL(clicked()), Fenetre2, SLOT(closeWin()));
     
    }
     
    void Test::openWin()
    {
    Fenetre2->show();
    Fenetre2->setFixedSize(300,300);
     
     
     
    }
     
     void Test::closeWin()
    {
     
    Fenetre2->hide(); 
     
    }
    Je ne connais pas ton programme mais je ne pense pas que cela fonctionne car je vois pas bien avec quoi tu fais ton connect dans le constructeur.
    A mon avis regarde quelques cours de C++ basique et tu devrais resoudre tes problèmes assez rapidement. De meme dans la FAQ tu as des exemples tous fait qui font exactement ce que tu souhaites.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo