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 :

Pause en attendant un signal

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 26
    Points : 29
    Points
    29
    Par défaut Pause en attendant un signal
    Bonjour,
    Je souhaite qu'une de mes fonction fasse une pause dans son exécution et ne reprenne que lorsque un signal particulié est émit.
    J'ai jeté un oeil a QTimer mais il n'y a pas ce genre de fonctions.
    J'ai toujours la solution de faire un petit timer qui est relancé si une certaine variable n'est pas à la bonne valeur (cette variable étant définit par un slot relié a mon signal) mais je trouve cette solution un peut "bricolage" et pas très optimisée. Existe il une alternative ?

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 47
    Points
    47
    Par défaut
    Divise ta fonction en 2, une partie avant la "pause", la deuxième partie qui sera un protected slot que tu connecte au signal particulier dont tu parle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(???, SIGNAL(le signal particulier), this, SLOT (la deuxième partie de la fonction)

  3. #3
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Bonjour aicou

    A mon avis, tu as un problème d'organisation de ton code. Premièrement, si tu mets une boucle dans ta fonction qui "attend" ton signal, cela veut dire que tu exécutes du code qui ne fait rien (à part attendre, mais ça c'est le boulot de la boucle d'évènement). Bref, des ressources gaspillées pour rien. Deuxièmement, si tu as une fonction dont une partie est indépendante d'un signal et une autre partie qui est dépendante, tu devrais probablement créer une fonction + un slot.

    Bref, à voir selon ce que tu fais dans ta fonction

    EDIT : grillé par MaximeL

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 26
    Points : 29
    Points
    29
    Par défaut
    Merci pour vos réponses.
    Si je voulais éviter de faire ca c'est à cause de la fonction que j'appelle dans ma boucle (QFtp::list) qui récupère des infos de façon asynchrone avant de les traiter et de recommencer avec le dossier suivant.
    En découpant ma fonction en 2 je suis donc obligé de stocké des infos dans ma classe alors qu'elles sont inutiles ailleurs.

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Et c'est un drame de mettre QFtp dans la classe ? Si tu as trop de variable membre, c'est peut être que tu ne respectes pas le principe de responsabilité unique ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 26
    Points : 29
    Points
    29
    Par défaut
    non il est déjà présent. Ce que je voulait dire c'est qua la place d'avoir une fonction avec une boucle, j'ai maintenant une "boucle" délocalisé avec des variables inutiles comme mes compteurs et autre dans ma classe de principale.

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

Discussions similaires

  1. [XL-2007] Pause programme en attendant un clic
    Par Air Hache dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/06/2011, 20h44
  2. Mettre le programme en pause en attendant un événement
    Par bigboss39 dans le forum Tkinter
    Réponses: 1
    Dernier message: 08/04/2009, 16h10
  3. Réponses: 8
    Dernier message: 17/03/2009, 18h49
  4. Réponses: 4
    Dernier message: 26/04/2008, 01h29
  5. Fonction bloquante attendant un signal
    Par Jorodan dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 25/06/2007, 13h04

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