Try this, I have checked it works just fine.
{
if(item == 0)
return index;
if(treeWidget == 0)
return index;
if(parent)
return computeModelIndex(parent, 0).child(parent->indexOfChild(item), column);
return treeWidget->model()->index(treeWidget->indexOfTopLevelItem(item), 0);
}
//elsewhere
if(index.isValid())
mTreeWidget->scrollTo(index);
QModelIndex computeModelIndex(QTreeWidgetItem * item, int column = 0)
{
QModelIndex index;
if(item == 0)
return index;
QTreeWidget * treeWidget = item->treeWidget();
if(treeWidget == 0)
return index;
QTreeWidgetItem * parent = item->parent();
if(parent)
return computeModelIndex(parent, 0).child(parent->indexOfChild(item), column);
return treeWidget->model()->index(treeWidget->indexOfTopLevelItem(item), 0);
}
//elsewhere
QModelIndex index = computeModelIndex(item, 9);
if(index.isValid())
mTreeWidget->scrollTo(index);
To copy to clipboard, switch view to plain text mode
Bookmarks