Make sure items have an actual value by testing via item->lastSet().isValid().
Skip setting the value if not needed. This under the hood prevents calls to QDateTime::currentDateTime(). Which can be expensive than the state machine is cycled through a lot.
item->lastSet().isValid()
.QDateTime::currentDateTime()
. Which can be expensive than the state machine is cycled through a lot.