def METHOD_NAME(self, other):
    """
    Replace all values in self with the values from other.
    This will call the updated() signal several times (once per changed/added/deleted key).
    """
    other_keys = set(other.keys())
    original_keys = set(self._dict.keys())
    added_keys = other_keys - original_keys
    common_keys = original_keys.intersection(other_keys)
    changed_keys = [key for key in common_keys if self._dict[key] != other[key]]
    deleted_keys = original_keys - other_keys
    self._dict = dict(other)
    self.updated.emit(set(changed_keys).union(added_keys).union(deleted_keys))