Как изменить цвет фона после редактирования ячейки QTableView?

у меня есть этот QTableView с пользовательской моделью и делегатом, как я могу изменить цвет фона ячейки после его редактирования?

я должен сделать это в делегатеsetModelData() ?

index.model.setData(index, QVariant(True),Qt.UserRole) 

а позже в моделиdata() # это зовет себя?

if role == Qt.BackgroundColorRole:
    if index.model().data(index,Qt.UserRole).toBool():
        return QVariant(QColor(Qt.darkBlue))

и в моделиsetData() У меня нет кода, как:

if role==Qt.UserRole:
    ....

Как правильно это сделать?

редактировать: вот мое целоеsetData() метод в пользовательской модели

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

if index.isValid() and 0 <= index.row() < len(self.particles):
    particle = self.particles[index.row()]
    column = index.column()
    if column == ID:
        value,ok= value.toInt()
        if ok:
            particle.id =value                 
    elif column == CYCLEIDANDNAME:
        cycleId,cycleName= value.toString().split(' ')
        particle.cycleId =cycleId
#                also need to set cycleName
        for name in self.cycleNames:
            if name.endsWith(cycleName):
                particle.cycleFrameNormalized=particle.cycleName = name
                break

    elif column == CYCLEFRAME:
        value,ok= value.toInt()
        if ok:
            print 'set new val to :',value
            particle.cycleFrame =value 
#                    self.setData(index,QVariant(QColor(Qt.red)),Qt.BackgroundRole)

    elif column == CLASSID:
        value,ok= value.toInt()
        if ok:
            particle.classId =value                 
    elif column == VARIATIONID:
        value,ok= value.toInt()
        if ok:
            particle.variationId =value                 

    self.emit(SIGNAL("dataChanged(QModelIndex,QModelIndex)"),
              index, index)

    return True

return False

извините, до сих пор не знаю, я вставлю полный код из примера быстрой разработки графического интерфейса пользователя: я разместил свой код здесьhttp://pastebin.com/ShgRRMcY

Как я могу изменить код, чтобы изменить цвет фона ячейки после редактирования ячейки?

Ответы на вопрос(2)

Ваш ответ на вопрос