2010-06-27 6 views
1

J'essaie de trouver le meilleur moyen de créer une liste de contacts personnalisée pour une application de messagerie instantanée. Peut-être avec une vue arborescente, mais je ne suis pas sûr.Comment créer une liste de contacts personnalisée avec Qt

J'ai besoin d'un moyen de voir les groupes dans lesquels il y a des contacts. Un contact contient des informations différentes et des boutons d'action comme « Envoyer un message, Voir infos, ... »

Un exemple @http://ycorpblog.com/wp-content/uploads/2007/10/yahoo-messenger-90-action-toolbar.jpg

Répondre

0

ici, je suis dans ma petite recherche. J'ai hérité de l'une de mes classes QAbstractItemDelegate.

I réimplémente peinture() et sizeHint()

dans la peinture() pour dessiner mes articles (et ici par exemple un bouton) code:

QStyleOptionButton buttonStyle; 
buttonStyle.rect = option.rect; 
buttonStyle.features = QStyleOptionButton::AutoDefaultButton; 
buttonStyle.text = "Salut!"; 

QApplication::style()->drawControl(QStyle::CE_PushButton,&buttonStyle,painter); 

Mais il ne comporte réimplémentant QAbstractItemDelegate: helpEvent() pour récupérer les actions de cliquer sur les boutons (comparer la position de la souris par rapport à mon dessin et déterminer ce que l'utilisateur clique)?

De plus, avec la solution proposée ci-dessus,

QAbstractItemDelegate :: helpEvent() est une fente

Malgré une lecture attentive de la documentation, je ne peux pas déterminer quand cette fonction est appelée, est-il connecter de quelque chose? J'ai également jeté un coup d'oeil à editorEvent(), j'ai bien récupéré Mouse Click mais aucun moyen de savoir exactement où l'utilisateur a cliqué, donc aucun moyen de savoir si c'est un bouton ou un autre élément.

J'ai posé des questions sur la méthode que j'utilise aussi. Est-ce que c'est bon? Pouvez-vous m'éclairer?

En attendant vos réponses/idées. Je vous remercie.

Questions connexes