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 :

Appel d'un widget depuis une fonction

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Appel d'un widget depuis une fonction
    Bonjour,

    J'ai un problème de Qt et de C++, je souhaite afficher un bouton, quand je met le code dans le main, ça fonctionne. Mais lorsque je veux appeler une fonction qui affiche le bouton, ça compile, le programme se lance mais la fenêtre avec le bouton n'apparait pas.


    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <QApplication>
    #include "functions.h"
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        initApp();
        return app.exec();
    }
    functions.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "functions.h"
    #include <QPushButton>
     
    void initApp(){
     
     
        QPushButton bouton("Hello world ?");
        bouton.show();
    }
    functions.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #ifndef FUNCTIONS_H
    #define FUNCTIONS_H
     
    #endif // FUNCTIONS_H
     
    void initApp();
    Auriez vous une idée d'ou peux venir le problème ??

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Cela fonctionne dans le main car la méthode QApplication::exec() est bloquante : elle attend la fermeture de la fenêtre pour retourner sa valeur et donc sortir du main.
    Mais dans la fonction, il n'y a rien de bloquant, le bouton est donc créé, affiché, mais on sort de suite de la fonction et la variable locale bouton est de suite détruite : tu as donc à peine le temps d'apercevoir le bouton.

    Note : dans le fichier functions.h, la déclaration de la fonction est à mettre entre les #ifndef et #endif sinon ils ne servent à rien.

Discussions similaires

  1. Appeler une procédure stockée depuis une fonction
    Par FMJ dans le forum Développement
    Réponses: 4
    Dernier message: 07/04/2009, 21h04
  2. getattr() ? Appel d'une fonction depuis une fonction
    Par frites.saucisse dans le forum Général Python
    Réponses: 8
    Dernier message: 10/10/2008, 14h21
  3. comment appeler un widget depuis une fonction
    Par Thierry {-|-o dans le forum Tkinter
    Réponses: 3
    Dernier message: 02/01/2008, 23h23
  4. Réponses: 1
    Dernier message: 25/05/2007, 14h33
  5. Appel d'une fonction A depuis une fonction B.
    Par LeFlou dans le forum C++
    Réponses: 9
    Dernier message: 22/05/2007, 17h36

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