Вот так наследуем и меняем модель для просмотра таблицы
этот код размещается в разделе INIT
class editModel(pentadb.zzModel): def __init__(self,zzModel): pentadb.zzModel.__init__(self,zzModel) self.zzModel=zzModel self.rasx={} def setData(self, index, data, role): text=data.toString() nal=u"%s" % self.data(self.createIndex(index.row(),1)).toString() if num(nal)<num(text): return False else: self.rasx[index.row()]=text if num(text)==0: del self.rasx[index.row()] return True def data(self,index, role=Qt.DisplayRole): curcol=self.zzModel.columns[index.column()] if role==Qt.DisplayRole and curcol=='rasx': if index.row() in self.rasx: return QVariant(u"%s" % self.rasx[index.row() ]) else: return QVariant("") elif role == Qt.BackgroundRole and curcol=='rasx': return QVariant(QColor("lightgreen")) else: return self.zzModel.data(index,role) def flags(self,index): # curcol=self.zzModel.columns[index.column()] # if curcol=='rasx': # return Qt.ItemIsDragEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled | Qt.ItemIsEnabled |Qt.ItemIsEditable # else: return Qt.ItemIsDragEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled | Qt.ItemIsEnabled mem.zzGridWidget.grid.setModel(editModel(mem.zzGridWidget.grid.model()))