Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] fenetre annexe

création d'une deuxième annexe

    12 mars 2008 à 15:22:18

    Bonjour,

    voici mon problème :

    j'ai créé une fenetre mère et à partir de cette fenetre en cliquant sur un bouton (m_creerPerso) je créé une nouvelle fenetre.
    Cependant une fois la fenetre fille créée et ouverte je n'arrive pas a l'utiliser !

    voici mon code (MaFenetre.cpp):

    #include "FichePerso.h"
    #include "MaFenetre.h"


    MaFenetre::MaFenetre() : QWidget()
    {
    setFixedSize(300, 150);

    m_creerPerso = new QPushButton("Créer un personnage", this);
    m_creerPerso->move(10, 20);
    QObject::connect(m_creerPerso, SIGNAL(clicked()), this, SLOT(ouvrirPerso()));
    }

    void MaFenetre::ouvrirPerso()
    {
    FichePerso monperso;
    bool F = true;
    while (F)
    monperso.show();
    }

    Donc depuis mon main.cpp, j'appelle MaFenetre.cpp et dans "Mafenetre" je créé un bouton qui ouvre une nouvelle fenetre. Cette fonction m'ouvre bien la fenetre "monperso" mais je n'arrive pas a l'utiliser!

    PS : je sais qu'ensuite je devrais créér un bouton pour fermer cette fenetre et revenir à la fenetre mère mais je prèfere d'abord régler ce problème avant d'aller plus loin !!!

    Merci d'avance pour votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      12 mars 2008 à 19:15:32

      Le message qui suit est une réponse automatique activée par un modérateur.
      Les réponses automatiques permettent d'éviter aux modérateurs d'avoir à répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter le modérateur en question par MP.


      Merci d'utiliser les balises de code


      Bonjour,

      Les forums du Site du Zér0 disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source.
      Vous avez posté un code source sans utiliser cette fonctionnalité. Pourriez-vous éditer votre message en entourant votre code des balises <code > et </code > ?

      Cela aura pour effet de "colorer" votre code et donc d'en faciliter grandement la lecture. Vous aurez ainsi beaucoup plus de chances d'avoir des réponses.

      Voici un exemple de code non coloré avec la balise "citation" (mauvais exemple) :

      Citation

      int main(int argc, char *argv[])
      {
      long choixOperation;

      printf("Choisissez l'operation a effectuer");
      /* etc. */
      }



      Voici maintenant le même code coloré, si vous aviez utilisé la balise "code" (bon exemple) :

      int main(int argc, char *argv[])
      {
          long choixOperation;

          printf("Choisissez l'operation a effectuer");
          /* etc. */
      }


      C'est plus clair n'est-ce pas ? :)
      N'hésitez pas à éditer votre message pour changer la balise afin de colorer votre code.

      Plus d'informations à ce sujet


      Merci de votre compréhension :)
      Les modérateurs.
      • Partager sur Facebook
      • Partager sur Twitter
        12 mars 2008 à 21:35:51

        Mes plutôt dans FichePerso.h un attribut FichePerso au lieu de l'initialiser dans une méthode.
        Puis dans le constructeur de MaFenetre mes une condition si mon perso est ouvert alors connect(..., ..., ..., ...);
        Au fait sa sert à rien de mettre QObject::connect mes plutôt connect car QWidget est une classe fille de QObject.
        • Partager sur Facebook
        • Partager sur Twitter
          13 mars 2008 à 11:56:10

          ok merci pour ton aide Eclyps maintenant sa marche bien. Cependant j'ai une autre question.

          Ma deuxième fenetre ("monperso") est bien ouverte mais j'aimerais qu'en cliquant sur le bouton m_quitter2 de cette fenetre je revienne à ma fenetre principale ("fenetre").

          Voici ma ligne de code :

          Citation : C++ [Qt]

          connect(m_quitter2, SIGNAL(clicked()), qApp, SLOT(quit()));


          Ici ca me ferme tout le programme donc j'imagine que je dois changer "SLOT(quit())" mais je ne trouve pas la commande à mettre à la place !!

          Merci de votre aide.
          • Partager sur Facebook
          • Partager sur Twitter
            13 mars 2008 à 17:49:03

            Non je croix qu'il faut juste changer qApp par monperso
            Si ça marche pas peut être destroyed dans QObject mais il faut que tu créé un slot.
            • Partager sur Facebook
            • Partager sur Twitter

            [Qt] fenetre annexe

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown