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 :

Besoin d'un QTimer mais pas d'un slot


Sujet :

Qt

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut Besoin d'un QTimer mais pas d'un slot
    Bonjour à tous,

    Je souhaiterais, afin de ralentir mon acquisition, ajouter une temporisation logicielle. Je me suis donc tourner vers QTimer mais celui ci m'oblige à créer un slot ce qui ne me sert pas. Y a t il un moyen de contourner ceci ?

    Bonne après midi.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    Bonjour à tous,

    Je souhaiterais, afin de ralentir mon acquisition, ajouter une temporisation logicielle. Je me suis donc tourner vers QTimer mais celui ci m'oblige à créer un slot ce qui ne me sert pas. Y a t il un moyen de contourner ceci ?

    Bonne après midi.
    ??
    Comment veut tu utiliser ton timer?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    En gros je veux juste faire un sleep() mais j'ai pas trouvé comment faire à part avec QTimer.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    C'est quoi comme programme?
    une IHM?
    Dans quel thread se fait l'acquisition?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    oui c'est une IHM et l'acquisition ce fait dans le thread principal.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    oui c'est une IHM et l'acquisition ce fait dans le thread principal.
    donc un équivalent de sleep est une trés mauvaise idée. Ca va geler ton ihm pour rien.
    Pourquoi ne pas utiliser un QTimer ou le slot fait ton acquisition?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Ba j'était parti sur un QTimer mais il faudrait qu il soit dans ma boucle d'acquisition. Pour ne pas geler l'IHM il serait préférable de faire un thread ?

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    Ba j'était parti sur un QTimer mais il faudrait qu il soit dans ma boucle d'acquisition. Pour ne pas geler l'IHM il serait préférable de faire un thread ?
    La je ne peut pas trop te répondre.. Je ne sais pas ce que tu fait.

    Mettre ton acquisition dans un thread peut être une bonne idée.

    Peut tu expliquer en quoi consiste ton soft?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Je fais l'acquisition de 3 grandeurs analogiques depuis un pic 18f4550 via USB. J'utilise une librairie de microchip pour la communication USB. Le problème c'est que la j'échantillonne trop vite pour la carte donc j'aimerait lever le pied en faisant une petite pause entre chaque acquisition.

  10. #10
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Pourquoi comme proposer par Yan, ne pas utiliser un QTimer et dans le slot tu fais ton acquisition. C'est simple a mettre en place et tu ne gelera pas ton interface a moins que le traitement dans le slot soit vraiment long. Sinon un Thread mais quand meme plus compliquer a mettre en place.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Le problème c'est que QTimer n'est pas bloquant.

  12. #12
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    Le problème c'est que QTimer n'est pas bloquant.
    Ce n'est pas un problème. Bien au contraire.
    En quoi utiliser le slot pour faire l'acquisition est un problème?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Mon but est de ralentir mon acquisition, mais je veux échantillonner un nombre donné d'échantillon donc ça me convient pas trop.

  14. #14
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Je comprends pas très bien quand tu dis échantillonner moins de valeur c'est a dire lire par exemple un échantillon sur 5 c'est ça ?
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  15. #15
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    Mon but est de ralentir mon acquisition, mais je veux échantillonner un nombre donné d'échantillon donc ça me convient pas trop.
    Comme tu préfère.
    Alors il te reste le thread.
    En gros tu met toute ton acquisition( + traitement?) dans le run et tu emmet un signal pour transmettre les résultats à l'ihm.
    Tu peut regarder ces exemples
    http://qt.developpez.com/doc/4.5/thr...uedcustomtype/
    http://qt.developpez.com/doc/4.5/threads-mandelbrot/

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    la j'ai réussi à faire quelquechose^^ j'ai fait dériver une classe de QThread et j'utilise sleep directement.

  17. #17
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    la j'ai réussi à faire quelquechose^^ j'ai fait dériver une classe de QThread et j'utilise sleep directement.
    C'est la principe pour l'utilisation des Threads. Mais j'ai quand même du mal a comprendre pourquoi tu ne pouvais pas faire cela avec un QTimer. Enfin si cela fonctionne avec un QThread c'est très bien.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Parceque le QTimer n'était pas bloquant donc du coup ça me ralenti pas mon acquisition.

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par jiraya sama Voir le message
    la j'ai réussi à faire quelquechose^^ j'ai fait dériver une classe de QThread et j'utilise sleep directement.
    C'est pas propre ça.....
    Au pire, utilise une event loop local
    http://doc.qtsoftware.com/qq/qq27-re...localeventloop

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    je me doute que c'est pas propre mais ça doit être fonctionnel pour dans 2jour et ça bug toujours donc pour le moment ça ira si j'ai un peu de temps je rechangerai ça.

Discussions similaires

  1. [CKEditor] besoin d'aide pour un lien embed affiché dans fckeditor mais pas sur la page du site
    Par cedrus dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 28/09/2012, 23h02
  2. Réponses: 0
    Dernier message: 03/08/2009, 21h02
  3. Réponses: 9
    Dernier message: 25/04/2008, 21h21
  4. Réponses: 2
    Dernier message: 16/03/2008, 16h26
  5. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 10h52

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