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 :

QDialog et fermeture dans le constructeur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Par défaut QDialog et fermeture dans le constructeur
    Bonjour,

    J'ai un problème pour faire automatiquement un QDialog lors de son initialisation.
    grosso modo mon code c'est :
    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
       QVideoFileExplorerWindow::QVideoFileExplorerWindow(QWidget *parent)
          : QDialog(parent)
        {
          _ui.setupUi(this);
          if(/*test de différents paramètre*/)
          {
              //Initialisation de mes objets 
          }
          else
          {
              //je ferme automatiquement la fenêtre car elle est vide sinon
              //reject();
              //close();
              //destroy();
          }
        }
    J'ai donc essayé les fonctions reject, close et destroy pour la fermer mais rien ne marche.

    Savez vous comment je peux résoudre mon problème ?

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour !

    Normal... Tu tentes de fermer un QDialog qui n'a pas fini de s'initialiser...

    La seule solution : séparer le constructeur et tes appels à "close" & Co...
    Utilise une variable d'initialisation par exemple, qui indique si ton qwidget est correctement intialisé...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Par défaut
    Le problème ne venait pas de mon constructeur proprement dit mais de son utilisation.
    J'ai résolu mon problème de la façon suivant

    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
       QVideoFileExplorerWindow::QVideoFileExplorerWindow(QWidget *parent)
          : QDialog(parent)
        {
          _ui.setupUi(this);
          if(/*test de différents paramètre*/)
          {
              //Initialisation de mes objets 
              accept();
          }
          else
          {
              //je ferme automatiquement la fenêtre car elle est vide sinon
              reject();
          }
        }
    Et lors de l'appel je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          QVideoFileExplorerWindow videoFileExplorer(this);
     
          if(videoFileExplorer.result() != QDialog::Rejected) //test le constructeur
          {
            if (videoFileExplorer.exec() == QDialog::Accepted)
            {
               //mon traitetement
            }
          }

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

Discussions similaires

  1. exception dans un constructeur
    Par xxiemeciel dans le forum C++
    Réponses: 25
    Dernier message: 23/11/2005, 18h14
  2. Réponses: 3
    Dernier message: 06/11/2005, 18h02
  3. Réponses: 1
    Dernier message: 06/11/2005, 17h55
  4. [debutant] rappel de la classe dans le constructeur
    Par newtito dans le forum Débuter
    Réponses: 6
    Dernier message: 05/10/2005, 00h15
  5. Capture d'exception dans un constructeur
    Par declencher dans le forum Composants VCL
    Réponses: 8
    Dernier message: 03/02/2004, 12h52

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