Etant donné que j'affiche dans mon treeview le contenu d'un fichier, j'essaye d'inclure des icônes spécifiques ou d'ajouter une icône au début de chaque treeitem.
Comment dois je procéder?
Etant donné que j'affiche dans mon treeview le contenu d'un fichier, j'essaye d'inclure des icônes spécifiques ou d'ajouter une icône au début de chaque treeitem.
Comment dois je procéder?
L'icône est un item par lui-même que tu peux instancier en faisant par exempleEnsuite cet item est à ajouter à la liste de tes items représentant ta ligne qui est par exemple du type QList<QStandardItem*>
Code : Sélectionner tout - Visualiser dans une fenêtre à part new QStandardItem(QIcon("icone.png"))
J'utilise le modèle de l'exemple de Qt : Simple tree model
class TreeModel : public QAbstractItemModel
Il faut que tu retourne ton îcone pour le rôle Qt:ecorationRole
http://qt.developpez.com/doc/4.5/qt/#itemdatarole-enum
Merci pour votre réponse.
Mais ce n'est pas trop clair.
Qt:isplayRole The key data to be rendered in the form of text.
Qt:ecorationRole The data to be rendered as a decoration in the form of an icon.
avec DecorationRole je ne peux afficher que l'icône mais moi je veux quand je clique sur un item une menu contextuel s'affiche et lorsque je clique sur activer, une icône doit être affichée montrant que le module est activé.
Comment dois je procédé étant donné que je me suis penché à utilisé un fichier xml à partir duquel le treeview affiche ses items.
Ce que tu n'as pas dû comprendre, c'est qu'un viewer appel plusieurs fois data pour une même zone. Une fois pour chaque rôle.
Il te faut donc envoyer le text lors du Qt:: DisplayRole et l'îcone sur lors du Qt:: DecorationRole.
Ces différents appels sont complémentaire. De même, si tu voulais changer la font, il te faut gérer le cas de Qt::FontRole et ainsi de suite.
Etant donné que dans ce exemple, j'utilise un QTreeWidget, afin d'ajouter une icone au treeWidgetitem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QTreeWidgetItem *featureItem = new QTreeWidgetItem(interfaceItem); featureItem->setText(0, feature); featureItem->setIcon(0, featureIcon);
Comment dois je procéder dans le cas où j'ai un treeview qui affiche le contenu d'un fichier XML à partir d'un modèle pour ajouter des icônes aux balises du fichier XML?
Y'a til une autre possibilité pour que je puisse ajouter des icônes dans le fichier xml?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager