Qt: setData-Methode in einem QAbstractItemModel

Ich bin neu in der Modellansicht und verfolge siedieses Tutorial Während ich gleichzeitig die Dokumentation überprüfte, stieß ich auf dieses kleine Detail: Den Code des Tutorials, der heruntergeladen werden kannHier hat in der Klasse QAbstractItemModel (hier QAbstractListModel) die Methode setData, deren Code lautet:

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

Laut den Erklärungen im Tutorial und nach dem, was ich aus der Dokumentation verstanden habe, passiert nichts, wenn die Funktion True zurückgibt, wird die Ansicht aktualisiert, wenn sie false zurückgibt, aber wenn ich den Code in ändere:

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

Ich habe festgestellt, dass die Ansicht immer noch aktualisiert wird, wenn color.isValid (), auch wenn die Funktion False zurückgibt. Verstehe ich die Rückgaberolle in der setData-Methode falsch oder handelt es sich um einen Fehler?

Als Referenz verwende ich PySide 1.2.1, nicht PyQt4.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage