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 :

QTableModel contenant des objets de différents types


Sujet :

Qt

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Par défaut QTableModel contenant des objets de différents types
    Bonjour,

    Je me tourne vers vous pour vous demander conseil. Disons que j'ai plus ou moins une solution fonctionnelle, mais je veux votre avis. Il n'y a pas vraiment de question que je vais poser, mais une étude de cas que je vais vous exposer et j’espère avoir vos commentaires.

    Problématique :
    Je dispose de données hétérogènes. Ces données possèdent certains attributs en commun, mais, selon leurs types, peuvent avoir des attributs différents.

    L'idée est de pouvoir afficher les attributs en commun dans une qtableview, et que une fois l'utilisateur sélectionne une ligne, l'interface offre les widgets nécessaires à l'affichage des attributs spécifiques.

    Ci-joins deux maquettes qui montreront je l’espère un peu plus le rendu souhaité.

    Solution réalisé :

    • Une classe abstraite contient les attributs communs (hérite de QObject).


    • Les classes filles de cette classe héritent de la classe abstraite, et ajoute leurs attributs spécifiques.


    • J'hérite de QAbstractTableModel, crée une QList de pointeurs sur la classe abstraite, et définit la méthode data pour qu'elle ne retourne que les attributs en commun.


    • Un QTableView se charge d'afficher ce modèle personnalisé.

    Maintenant je pense faire un QStackedWidget, contenant les différentes UI des différents types. La classe abstraite possède une méthode getType redéfinie par les classes filles pour retourner le type de l'objet. Le slot on_tableView_clicked se charge de pointer vers le bon widget du QStackedWidget et rempli les différents champs à partir d'un qobject_cast() fait sur l'objet sélectionné.

    Questions en vrac :

    1. Que pensez-vous de cette façon de faire?
    2. La classe QDataWidgetMapper serait-elle utile pour remplir les différents champs spécifique ?



    Merci pour votre aide.
    Images attachées Images attachées   

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

Discussions similaires

  1. set contenant des objets non constants
    Par 5kippy dans le forum SL & STL
    Réponses: 6
    Dernier message: 10/11/2007, 13h01
  2. Réponses: 2
    Dernier message: 04/07/2007, 10h17
  3. Réponses: 3
    Dernier message: 09/01/2007, 15h27
  4. Réponses: 1
    Dernier message: 23/06/2006, 10h10
  5. Réponses: 18
    Dernier message: 28/04/2006, 11h00

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