Quote Originally Posted by Crazy_Hopper View Post
With QLabel, QMovie generates a signal, it's processed and update() is called on QLabel which generates the paintEvent() for QLabel. It seems I do pretty much the same here. Besides, I guess there is no other way to call delegate's paint() but calling model's dataChanged().

What I need is a code excerpt for delegate's paint() that shows a movie.
Oh ok now i realize.
How about updating the movie delegate from the QTreeView manually ? May be you can somehow find the rect corresponding to the delegate and keep issuing update(QRect) for the QTreeView on signal from the QMovie.
What my idea is to avoid dataChanged signal in such a rapid rate since that results in quite expensive operations in the internal structures of InterView.