I noticed a one strange thing when using QStyledItemDelegate with QTreeView. If you override sizeHint method, namely change the height of the item, scrollTo with EnsureVisible hint and automatic scrolling do not work properly: you may call scrollTo for insivible item but it won't become visible after it, and the tree may strangely scroll when you simply click some row, although it was absolutely not needed in that case. Perhaps, there is something else I should override in order to make it work properly, any clues?