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 :

Qthread en attente d'un événement


Sujet :

Qt

  1. #1
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut Qthread en attente d'un événement
    Salut

    j'ai une application qui fait tourner un QThread qui contient une boucle while(true), je veux déclarer un événement que je peux déclancher à partir d'un bouton. Je l'ai fait en java mais je ne sais pas le faire en QT.
    si vous avez des idées veuillez de me les indiquer.

    Merci d'avance.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    1- pas de while(1) mais exec() pour lancer l'eventloop
    2- un connect entre ton ihm et l'objet dans ta thread

  3. #3
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Merci pour la réponse,

    En fait pour bien expliquer mon problème j'ai un Qthread qui lance des process dans une boucle chaque process possède un signal "finiched" relier à une méthode, je me trouve contraint de ne lancer qu'un seul process à la fois et donc le Qthread doit attendre un signal de à partir de "finiched" pour passer à l'itération suivante. c'est pour cette raison que j'ai pensé à un event qui met le thread en état wait à la fin d'une itération puis le relance à la fin de l'éxecution de "finiched"

    Merci encore une fois

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    que fait ton thread et tes "process"???
    J'ai pas compris...

  5. #5
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    en fait je télécharge une liste de fichiers en utilisant QNetworkAccessManager à partir d'un interface graphique, le téléchargement ce fait un par un puis dans le slot finished() je doit faire des traitement et donc le téléchargement suivant ne doit se lancer qu'à la fin de l'exécution du slot finished(). Avez vous une idées pour synchroniser la boucle for qui parcourt la liste avec le slot finished de telle façon à ce qu'elle ne passe à l'itération suivante qu'à la fin de l'exécution de finished

  6. #6
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    pas de suggestion?
    j'ai une autre question concernant les slots:
    je veux définir des slots dans la classe de téléchargement. mais elle ne reconnait pas les slots, donc je l'ai fait hériter de QObject et ça donne l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -1: error: In function `ZN9DownloderC2Ev':
    avez vous une idée

  7. #7
    Membre habitué Avatar de sardik
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Points : 143
    Points
    143
    Par défaut
    Tu as penser à aussi mettre la macro Q_OBJECT ?

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    QNetworkAccessManager est dans un thread?

  9. #9
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Citation Envoyé par sardik Voir le message
    Tu as penser à aussi mettre la macro Q_OBJECT ?
    oui je l'ai ajouté.

    Citation Envoyé par yan Voir le message
    QNetworkAccessManager est dans un thread
    oui c'est vrai mais je veux organiser le téléchargement de telle sorte à ce qu'il se fait un par un.
    càd le téléchargement suivant de commence qu'à le fin de l'exécution du slot finished()
    je me demande comment je peut le faire dans interface graphique.
    Merci encore une fois.

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    es ce ceci ne pourrais pas correspondre?
    http://doc.qtsoftware.com/qq/qq27-re...localeventloop

  11. #11
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Il te suffit de lancer le téléchargement lorsque le précédent est terminé ; où est le problème ?

  12. #12
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    tous les téléchargement doivent être lancés automatiquement.

  13. #13
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Et ? Lorsque tu reçois le finished() pour le premier téléchargement, tu lances le 2nd.

  14. #14
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    désolé pour le retard.
    oui c'est ça

  15. #15
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Donc t'as le principe et il n'y a plus de problèmes (puisqu'il n'y a pas de questions).

  16. #16
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    je ne sais pas comment ça m'a échappé.
    en tout cas merci pour votre ingénieuse réponse.

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

Discussions similaires

  1. Attente d'un évènement
    Par gilloddon dans le forum Android
    Réponses: 4
    Dernier message: 17/07/2012, 13h35
  2. Réponses: 1
    Dernier message: 17/08/2011, 17h00
  3. mise en attente d'évènements
    Par BigNic dans le forum C#
    Réponses: 1
    Dernier message: 07/12/2007, 15h22
  4. [TECHNIQUE]Attention aux évènements statiques
    Par joujoukinder dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 21/09/2006, 20h16

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