Qt: metoda setData w QAbstractItemModel

Jestem nowy w modelowaniu widoku i obserwujęten samouczek jednocześnie sprawdzając dokumentację i natknąłem się na ten mały szczegół: kod samouczka, który można pobraćtutaj ma w klasie QAbstractItemModel (tutaj QAbstractListModel) metodę setData, której kodem jest:

def setData(self, index, value, role = QtCore.Qt.EditRole):
    if role == QtCore.Qt.EditRole:

        row = index.row()
        color = QtGui.QColor(value)

        if color.isValid():
            self.__colors[row] = color
            self.dataChanged.emit(index, index)
            return True
    return False

Zgodnie z wyjaśnieniami w tutorialu iz tego, co zrozumiałem z dokumentacji, jeśli funkcja zwraca True, to widok jest aktualizowany, jeśli zwraca fałsz, nic się nie dzieje, ale gdy zmieniłem kod na:

def setData(self, index, value, role = QtCore.Qt.EditRole):
    if role == QtCore.Qt.EditRole:

        row = index.row()
        color = QtGui.QColor(value)

        if color.isValid():
            self.__colors[row] = color
            self.dataChanged.emit(index, index)
            return False # This is what I changed in the code
    return False

Zdałem sobie sprawę, że widok nadal jest aktualizowany, jeśli color.isValid () nawet jeśli funkcja zwróci False. Czy nie rozumiem roli powrotu w metodzie setData, czy jest to błąd?

Dla odniesienia używam PySide 1.2.1, a nie PyQt4.

questionAnswers(3)

yourAnswerToTheQuestion