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 Creator Discussion :

Liaisons "objet <-> champs d'IHM"


Sujet :

Qt Creator

  1. #1
    Membre à l'essai
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Developpeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Liaisons "objet <-> champs d'IHM"
    Bonjour,

    Tout d'abord, bonne année à toutes et à tous !

    J'utilise un objet "Individus" contenant un nombre variable d'objets "Individu".

    Afin de saisir les différentes valeurs d'un "Individu" j'utilise une fenêtre composée de plusieurs widgets.

    A chaque modification d'un widget du formulaire, je mets à jour le champ correspondant d'un "Individu filtre", externe à l'objet conteneur, afin de n'afficher dans une table les "Individu(s)" qui correspondent pour partie à ce qui a été tapé. L'utilisateur a ensuite la possibilité soit de sélectionner un "Individu" dans la table pour le mettre à jour, soit d'ajouter l'"Individu filtre" à la collection d'"Individus".

    Donc à chaque modification d'un widget je dirige le signal ad-hoc vers un slot qui fait la modification de l'objet filtre.

    Comme il y a un certain nombre de champs, cela devient assez lourd. Aussi existe-t-il existe une méthode "élégante" pour faire ce genre de chose ?

    J'ai en tête la définition d'une sorte de persistance entre les widgets et l'"Individu filtre".

    Je me rappelle aussi avoir croisé une fois par hasard un objet Qt qui assure une sorte de proxy entre plusieurs signaux et plusieurs slots. Cela pourrait-il être une solution ?

    Merci !
    Sylvain

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut


    Citation Envoyé par sylvain1984 Voir le message
    Je me rappelle aussi avoir croisé une fois par hasard un objet Qt qui assure une sorte de proxy entre plusieurs signaux et plusieurs slots. Cela pourrait-il être une solution ?
    Quelque chose comme QSignalMapper ? Je ne pense pas que cela pourrait résoudre ton problème :/. Si tu utilises Qt Designer, tu peux plus facilement gérer les connexions entre signaux et slots (https://doc.qt.io/qt-6/designer-connection-mode.html). Autre astuce, les connexions automatiques : https://doc.qt.io/qt-6/designer-usin...h-auto-connect et https://doc.qt.io/qt-6/qobject.html#auto-connection.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Developpeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Citation Envoyé par dourouc05 Voir le message
    Quelque chose comme QSignalMapper ?
    Oui, je pensais un peu à cela.

    Sinon, comme je m'intéresse en ce moment aux patrons de conception, je me demandais s'il n'y en avait un pour ce cas de figure.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut
    Citation Envoyé par sylvain1984 Voir le message
    Sinon, comme je m'intéresse en ce moment aux patrons de conception, je me demandais s'il n'y en avait un pour ce cas de figure.
    Un médiateur (https://en.wikipedia.org/wiki/Mediator_pattern) ? Ce serait un objet qui récupérerait l'entièreté des signaux et qui se chargerait d'agir en fonction.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2023
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Developpeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Désolé pour cette réponse tardive...

    Citation Envoyé par dourouc05 Voir le message
    Un médiateur ? Ce serait un objet qui récupérerait l'entièreté des signaux et qui se chargerait d'agir en fonction.
    Merci pour l'idée qui effectivement serait une solution. Je vais tenter ça.

    J'imaginais toutefois secrètement que ce cas de figure, sans doute aussi vieux que les IHM, se traitait d'une certaine façon générique.

    Bonne soirée,
    Sylvain

Discussions similaires

  1. Objet métiers et IHM
    Par persi dans le forum Architecture
    Réponses: 1
    Dernier message: 02/05/2009, 19h02
  2. Questions liaison objets <-> controles
    Par RideKick dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/10/2008, 13h47
  3. liaison entre champs
    Par alsimbad dans le forum Word
    Réponses: 4
    Dernier message: 13/10/2007, 15h21
  4. Liaison De Champ - Formulaire A Formulaire
    Par crapouye1 dans le forum IHM
    Réponses: 6
    Dernier message: 20/12/2006, 19h23
  5. [MySQL] Probleme de liaison de champs entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 16/12/2005, 16h34

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