Imagine the viewport of the view as a sheet of paper you can draw on. Furthermore imagine you have a set of stamps that you can modify (i.e. change numbers to set a date). The stamp is your delegate - the view can set its attributes and use it to stamp all items in needs on the sheet of paper. The stamp doesn't do anything by itself, it can't be "updated" because a single stamp during a single pass can be used to draw an arbitrary number of different items (the stamp has no state). The view (you) in turn knows how to prepare the stamp because it knows the idea of how the final image should look like - your imagination of the image is the "model". You need to change your imagination to detect that you need to draw something differently on the paper, right? And that's exactly what you need to do - update the model to reflect all new changes.

You are using the so called convenience widgets which have an internal model and allow manipulation of particular cells through a set of item pointers. So to change the model, you need to change properties of those items - QTreeWidgetItem::setText or QTreeWidgetItem::setData might be good places to start doing some reading.