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

Qt Discussion :

Réexécution d'une fenêtre


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 38
    Par défaut Réexécution d'une fenêtre
    Bonjour.
    j'ai fait une petite application avec qt. la fenetre principale herite de QWidget.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fenetre::Fenetre(QWidget *parent): QWidget(parent)
    je veux faire un boutton appartenant à cette fenetre, qui me permet de redemarrer l'application (destruction de la fenetre, et nouvel appel au constructeur).

    j'ai cherché dans les methodes de "Fenetre", mais j'ai rien trouvé.

    Merci bien pour votre aide.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Par défaut
    Si tu dois juste "relancer ta fenêtre" tu peux setter un flag global, fermer ta fenêtre, et faire une boucle dans le main qui va la réouvrir si le flag est setté.

    Par contre ça ne redémarre pas l'application (ne recharge pas l'exécutable et les .dll .so).

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 38
    Par défaut
    et comment declarer ce "flag global"? et comment doit -t-l etre "setté"?

  4. #4
    hichamo4
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        MaFenetre w;
        w.show();
        app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
        int returnValue = app.exec();
        if (0!=returnValue)
        {
            QProcess::startDetached(argv[0], app.arguments());
        }
        return returnValue;
    }
    C'est issu d'un code plus gros, j'ai fait du ménage. Je ne pense pas que le connect soit nécessaire dans ton cas, mais dans le doute, j'ai préféré le laisser.

    Pour demander la sortie:
    Dernière modification par Caro-Line ; 16/07/2010 à 16h28. Motif: ...

  5. #5
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 38
    Par défaut
    en fait, je veux seulement "recharger" la fenetre, et non pas l'application comme vous avez suggéré!

    Qui peut m'aider?

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Par défaut
    QQch dans ce style ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    bool restart = true;
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        MaFenetre w;
     
        while(restart) {
            w.show();
            app.exec();
        }
     }

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

Discussions similaires

  1. Rendre une fenêtre modale non modale
    Par Smortex dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/03/2003, 17h56
  2. Changer l'icône d'une fenêtre à partir d'un .res
    Par henderson dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/03/2003, 10h48
  3. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 12h25
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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