Seite 1 von 1

Nochmal QTreeView&QDirModel : Icon ändern - wie ?

Verfasst: 12. Juli 2006 16:13
von tscher
Moin liebe Gurus,

scheinbar bin ich einfach zu blöd... deswegen muß ich Euch nocheinmal mit einer Frage nerven.

Ich habe also (noch immer :-)) ein QTreeView mit einem QDirModel, das mit schön brav einen Verzeichnisbaum anzeigt. Nun möchte ich für einige Verzeichnisse ein anderes Icon anzeigen. Soweit ich das aus der Doku verstanden hab, geht das ungefähr so:

Code: Alles auswählen

 
     QIcon meinIcon("MeinBild.bmp");
     _meinDirModel -> setData(meinModelIndex, meinIcon, Qt::DecorationRole);
Dann das ganze vielleicht noch refresh()en, und dann sollte da ein anderes Icon sein, oder ? Is aber nicht. Von setData krieg ich false zurück, d.h. irgendwas schmeckt ihm nicht... und ich komm nicht drauf was.

Für zweckdienliche Hinweise wäre ich wie immer sehr dankbar :)

lG, tscher

Verfasst: 12. Juli 2006 17:48
von upsala
Such hier mal weiter:

Code: Alles auswählen

QFileIconProvider *QDirModel::iconProvider() const

Verfasst: 13. Juli 2006 09:51
von tscher
Hallo upsala,

frei ja Radio Jerewan: "im Prinzip - ja" 8) Aber: soweit ich das verstehe provided der FileIconProvider jeweils ein Icon für bestimmte Objekttypen (Computer, Desktop, Drive, Folder, etc. etc.) ... was ich bräuchte is aber das ich bestimmte Ordner und/oder Dateien im Baum speziell kennzeichnen kann; ich hab mir gedacht am einfachsten durch ein anderes Icon. Falls es einfacher ist könnt ich auch damit leben die Dinger einfach anders einzufärben... aber wie ? :?

lG,
tscher

Verfasst: 13. Juli 2006 21:23
von upsala
Lies dir Dokumentation noch einmal, oder am besten probier es gleich aus...

Verfasst: 14. Juli 2006 12:38
von tscher
ääh, ja.... und dann ? Mit QDirModel->iconProvider() krieg ich den vom TreeView verwendeten IconProvider, ok. Mit IconProvider->icon(QFileInfo file) krieg ich das zu diesem File gehörige Icon. Und dann ?

Tut mir leid, aber ich steh am Schlauch....

lg
tscher

Verfasst: 14. Juli 2006 18:06
von upsala
Und mit setIconProvider setzt du deinen eigenen...