I just change the sourceData without emitting setData() function.
If I understood the manual correctly, the only thing you have to do when data is changed is emitting dataChanged() for the area of the change. ( http://doc.trolltech.com/4.3/qabstra...l.html#setData ) "Note that the dataChanged() signal must be emitted explicitly when reimplementing this function."