and I have been fighting with a silly problem for days now
I could not find in your text what is the actual problem you are having??
To "compile" only the changed files?

Any ideas on how to get QFileSystemWatcher to just recognize that a file's timestamp has updated and so update the QTreeView.
The previous text has nothing to do with this concrete question as far as I can see.
When a file changes ( when a file has been modified, renamed or removed from disk) its time stamp change as well and QFileSystemWatcher does notify you about any of these changes so implicitly, even though it is not notifying you about the change of the timestamp it notifies you about the events that trigger a timestamp change.