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 :

Capture d'un événement particulier


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Capture d'un événement particulier
    Bonsoir,

    Je souhaiterais savoir comme précise mon titre s'il est possible de capturer un évènement particulier. Je m'explique :
    Je dispose de plusieurs de "widgets" (~100aine) dans une "form", et je voudrais intercepter un évènement qui serait émis si l'un des widgets a été modifié.
    Bien sûr je voudrais éviter de brancher un event sur tous les "widgets" : j'en ai plus d'une 100aine et d'autres viendront s'ajouter surement par la suite...

    Pour ceux qui se demandent pourquoi une centaine c'est un logiciel d'exploitation routière, donc il y a énormément de paramètres selon les normes en vigueur.
    La modification de certains paramètres entraînent par exemple un traitement de fft...

    Pour l'instant j'ai mis en place un système basé sur un timer, avec un jeu de variables et un contrôle binaire de la structure de données.

    J'aurais souhaité un système plus propre à Qt si possible.

    Je vous remercie

  2. #2
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 655
    Points : 3 786
    Points
    3 786
    Par défaut
    La classe QSignalMapper devrait être ton amie.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour, merci je regarde et je vous tiens au courant.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par air-dex Voir le message
    La classe QSignalMapper devrait être ton amie.
    Bonjour, j'ai mis en place, ça fonctionne plutôt bien.
    Y aurait il possibilité de mettre tout cela en place avec QtDesigner/QtCreator ?

  5. #5
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 655
    Points : 3 786
    Points
    3 786
    Par défaut
    Citation Envoyé par vhansoftkindo Voir le message
    Bonjour, j'ai mis en place, ça fonctionne plutôt bien.
    Y aurait il possibilité de mettre tout cela en place avec QtDesigner/QtCreator ?
    Aucune idée car je n'utilise jamais QtDesigner dans mes développements Qt.

    Mais il doit bien y avoir un signal interceptable à la création d'un "widget", créé par tes soins ou pas, auquel tu pourrais connecter un slot qui réalise le mappage, non ? Au pire tu peux toujours le faire à la main, QtDesigner n'étant qu'un outil auquel on n'a pas à être esclave.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par air-dex Voir le message
    Aucune idée car je n'utilise jamais QtDesigner dans mes développements Qt.

    Mais il doit bien y avoir un signal interceptable à la création d'un "widget", créé par tes soins ou pas, auquel tu pourrais connecter un slot qui réalise le mappage, non ? Au pire tu peux toujours le faire à la main, QtDesigner n'étant qu'un outil auquel on n'a pas à être esclave.
    Effectivement, on trouve toujours une méthode
    Dans ma projection je pensais qu'il existait un "signal Qt" sur un QGoupBox par exemple hasChanged(QWidget*) qui serait envoyé à chaque fois qu'un widget enfant à ce QGroupBox aurait changé d'état.
    Je n'ai pas voulu fouiller, je n'ai pas le temps.
    D'ailleurs je ne veux plus retourner en arrière QtDesigner est un outil plutôt intéressant qui me facilite grandement concernant l'IHM.
    Revenir à créer mes widgets et toutes les connexions, me feraient perdre un temps fou...
    A l'origine le logiciel devait être développé sous Windev, mais par soucis de portabilité et d'efficacité Qt a été retenu.

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

Discussions similaires

  1. Événement particulier sur un select
    Par EddyM4P dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/05/2015, 14h07
  2. Capture d'un évènement spécifique depuis une activité
    Par Yvon Massé dans le forum Android
    Réponses: 5
    Dernier message: 19/04/2015, 12h40
  3. Réponses: 1
    Dernier message: 29/04/2011, 17h08
  4. Capture de l'évènement de sauvegarde de fichier
    Par DrSnake dans le forum ImageJ
    Réponses: 0
    Dernier message: 17/08/2010, 11h53
  5. Réponses: 3
    Dernier message: 05/08/2006, 18h54

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