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 :

Comment créer une liste de contact personnalisée ?


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Comment créer une liste de contact personnalisée ?
    Salut tout le monde,

    J'essaie de trouver le meilleur moyen de créer une liste de contacts personnalisés pour une application de messagerie instantanée.

    Peut-être avec une QTreeView mais je ne suis pas sûr.

    J'ai besoin d'un moyen pour afficher les groupes dans lesquels il ya des contacts. Un contact contient des informations différentes et des boutons d'action comme "Envoyer un message, Voir les infos, ..."

    Un exemple @ http://ycorpblog.com/wp-content/uplo...on-toolbar.jpg

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut
    Tu pourrais ré-implémenter QTreeView à tes spécifications, ça ne devrais pas être trop difficile.

    Je te suggère fortement de suivre TOUT les tutorials documentée de la page suivante:

    http://qt.developpez.com/doc/latest/...itemviews.html

    De cette façon tu pourra véritablement savoir quelle vue utiliser pour implémenter avec cohérence dans ton système de méssagerie.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Yakuzan Voir le message
    Tu pourrais ré-implémenter QTreeView à tes spécifications, ça ne devrais pas être trop difficile.

    Je te suggère fortement de suivre TOUT les tutorials documentée de la page suivante:

    http://qt.developpez.com/doc/latest/...itemviews.html

    De cette façon tu pourra véritablement savoir quelle vue utiliser pour implémenter avec cohérence dans ton système de méssagerie.
    Merci pour ta réponse,

    voilà où j'en suis dans ma petite recherche. J'ai hérité une de mes classes de QAbstractItemDelegate.

    Je réimplémente paint() et sizeHint()

    dans le paint(), pour dessiner mes éléments (et ici par exemple un boutton)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    QStyleOptionButton buttonStyle;
        buttonStyle.rect = option.rect;
        buttonStyle.features = QStyleOptionButton::AutoDefaultButton;
        buttonStyle.text = "Salut!";
     
        QApplication::style()->drawControl(QStyle::CE_PushButton,&buttonStyle,painter);
    Mais donc cela implique qu'il faut réimplémenter QAbstractItemDelegate::helpEvent() pour récupérer les actions de clic sur les boutons (comparer la position de la souris par rapport à mon dessin et déterminer sur quoi l'utilisateur clique) ?


    Est-ce la meilleure méthode à suivre ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    De plus, avec la solution proposée précédemment,

    QAbstractItemDelegate::helpEvent() est un slot

    Malgré une lecture attentive de la documentation, je n'arrive pas à déterminer quand cette fonction est appelée, faut-il la connecter à quelque chose ?

    J'ai également jeté un coup d'oeil sur editorEvent(), j'arrive bien à récupérer l'action du clic mais aucun moyen de savoir précisément où l'utilisateur a cliqué, donc aucun moyen de savoir si c'est sur un bouton ou un autre element.

    Je me pose des questions sur la méthode que j'utilise aussi. Est-ce la bonne ? Pouvez-vous m'éclairez ?

    Dans l'attente de vos réponses/idées. Merci.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Bon bah ... dans EditorEvent()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QMouseEvent *mevent = static_cast<QMouseEvent*>(event);
    Je récupère la position du curseur sur l'élément, on va pouvoir passer aux choses sérieuses.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/11/2008, 14h38
  2. Comment créer une liste de valeur
    Par chawiken dans le forum IHM
    Réponses: 3
    Dernier message: 20/05/2008, 15h04
  3. Comment créer une liste de liste en Pascal ?
    Par sarah7 dans le forum Langage
    Réponses: 1
    Dernier message: 27/04/2008, 15h54
  4. Comment créer une liste ou une instance de classe dans une fonction ?
    Par Neolander dans le forum Général Python
    Réponses: 9
    Dernier message: 05/03/2008, 19h22
  5. Réponses: 5
    Dernier message: 29/09/2005, 14h37

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