PDA

View Full Version : how to add icons to QTreeWidget?



wei243
21st September 2007, 08:28
i manage to draw a treeview with QTreeWidget using QAbstractItemMode.
i would like to ask for coding to add icons n display in QTreeWidget..


QTreeWidget *nav = new QTreeWidget;
nav->QTreeView::setModel(model);
nav->QTreeView::setAnimated(true);

jpn
21st September 2007, 08:38
Do not use an external model with QTreeWidget. QTreeWidget has a built-in model, which explains why QTreeWidget::setModel() has been made private. You are supposed to use QTreeWidgetItems to fill a QTreeWidget. QTreeWidgetItem has a method setIcon().

If you want to use a model, use QTreeView instead (and forget about QTreeWidgetItems). Then make your model's data() return icons for Qt::DecorationRole.

wei243
21st September 2007, 09:15
If you want to use a model, use QTreeView instead (and forget about QTreeWidgetItems). Then make your model's data() return icons for Qt::DecorationRole.

thx jpn. i change from QTreeWidget to QTreeView...
actually i program base on the 'Simple Tree Model' which is using QTreeView provided in qt example.
but i m new in qt4, got any example coding of it?

sabeesh
21st September 2007, 09:22
hi

please try like this.....

QTreeWidget Tree;
QTreeWidgetItem *item ;
item = new QTreeWidgetItem(Tree);
item->setText( 0, country );
item->setIcon(0,QIcon("your icon path or file name "));

item->setExpanded( true );

jpn
21st September 2007, 09:34
QVariant YourModel::data(const QModelIndex &index, int role) const
{
...
switch (role)
{
...
case Qt::DecorationRole: // <---
return QIcon(...); // <---
...
}
...
}