Partage
  • Partager sur Facebook
  • Partager sur Twitter

QListView et Delegate

    7 septembre 2018 à 12:59:20

    Bonjour à tous !

    Je souhaite créer une liste de widget représentant une personne (nom, prénom, adresse etc...). La fenêtre est divisée en la liste de personnes (on peut ajouter / supprimer des personnes de la liste) et l'autre partie qui donne des détails (parce que je ne peux pas tout détailler dans les widget de la liste, sinon ce serait trop dense).

    J'aimerais donc réussir à faire cette liste et pouvoir selectionner un widget de la liste pour que ça actualise les détails. Cependant, je ne comprends pas trop comment obtenir ce résultat.

    Concernant la liste de widget en elle même, je parviens à faire une liste simple de QString par exemple, mais comment puis-je faire en sorte que chaque élément de la liste de widget soit un widget personnalisé (qui affiche les informations générales sur une personnes et qui contient eventuellement quelques boutons) ?

    De ce que j'ai lu, il faut utiliser des delegates, mais ça implique de redéfinir la méthode paint :/ N'y as-t-il pas moyen de lui préciser un type pour les widget, par exemple MyListWidget, qui prends en construction un type Personne lui permettant d'afficher les bonnes données pour chaque index ? Ou alors ai-je simplement mal compris le concept de MVC sur Qt.

    Merci de votre aide, je suis un peu perdu là :/

    • Partager sur Facebook
    • Partager sur Twitter
      7 septembre 2018 à 21:31:29

      Salut,

      Tu peux sans doute créer un model avec tes données (ta liste de personne), qui se chargera de transmettre et de mettre à jour les informations informations.

      Une fois que tu auras ce modele (recherche les tutos concernant QAbstractItemModel), tu pourras le fournir aux différents QListView que tu voudras créer (au travers de la fonction setModel), ce qui te permettra de sélectionner l'information que tu veux afficher au travers de la fonction setModelColumn

      • Partager sur Facebook
      • Partager sur Twitter
      Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait

      QListView et Delegate

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown