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 :

Couplage entre QTreeWidget/View et QOpenGLWidget


Sujet :

Qt

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 145
    Points : 392
    Points
    392
    Par défaut Couplage entre QTreeWidget/View et QOpenGLWidget
    Hello

    Je développe un outil qui emploie une vue de type QTreeWidget et une vue OpenGL. Cet outil est une manière d'afficher et d'interagir avec des données de type, appelons-le MainData.

    Le QTreeWidget affiche le nom de la MainData tandis que la vue OpenGL en affiche d'autres aspects.

    La vue OpenGL dépend aussi de l'autre vue : si l'item associé à une MainData est caché ou replié, la vue OpenGL n'affiche pas les données en question.

    En ce moment, l'outil gère une liste d'objets, chacun contenant une MainData et un QTreeWidgetItem car le texte de l'item doit changer si le nom de la MainData est modifié depuis l'extérieur.


    Je trouve ça relativement crade au niveau de l'architecture. Êtes-vous de mon avis ? J'aimerais plutôt avoir un "modèle" sans aucune dépendance vers un truc en rapport avec une vue (au hasard, comme un QTreeWidgetItem). Et que les deux vues piochent dans le modèle pour afficher le nécessaire.

    Je m'oriente donc plutôt vers une implémentation d'un QAbstractItemModel et d'une QTreeView ? Êtes-vous d'accord ? Comment me conseilleriez-vous de gérer la dépendance de la vue OpenGL à la QTreeView ?

    Merci ! (et j'espère que j'explique bien )

  2. #2
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 787
    Points
    1 787
    Par défaut
    Je ne sais pas si ça peut t'aider mais j'ai moi même développé une application qui utilise à la fois un QTreeWidget et une vue OpenGL. J'ai séparé strictement mon modèle de donnée (il est dans sa lib propre) de son rendu. Ainsi l'affichage OpenGL n'est qu'un rendu particulier du modèle. De même le QTreeWidget peut être assimilé à un moteur de rendu. Les deux peuvent intervenir sur le modèle, pas forcément de la même manière (on peut déplacer les maillages via la vue OpenGL, on peut choisir si le maillage est affiché dans le QTreeWidget...). Les vues sont prévenues des modifications soit via un pattern observateur (QTreeWidget), soit en parcourant le modèle de donnée (vue OpenGL).

    A noter qu'utiliser un QAbstractItemModel et une QTreeView serait surement encore plus propre (j'ai un peu choisit la facilité avec QTreeWigdet, au final c'est juste une appli de test). Mais bon, on peut quand même obtenir des résultats sympas.

Discussions similaires

  1. Débutant - Pattern MVC - couplage entre la vue et le controleur
    Par ben.IT dans le forum Design Patterns
    Réponses: 1
    Dernier message: 18/10/2010, 16h16
  2. transition entre deux views
    Par hzaioua dans le forum Flex
    Réponses: 0
    Dernier message: 18/03/2009, 12h54
  3. Couplage entre ARCHIVAs
    Par erm31 dans le forum Maven
    Réponses: 4
    Dernier message: 10/03/2008, 10h43
  4. Couplage entre JPivot/Mandrian
    Par menzlitsh dans le forum Autres outils décisionnels
    Réponses: 3
    Dernier message: 05/08/2006, 12h16
  5. communication entre la view et la boite de dialogue
    Par marouane2010 dans le forum MFC
    Réponses: 1
    Dernier message: 27/07/2006, 14h05

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