У меня есть подкласс QtGui.QStandardItemModel с setData следующим образом:
def setData(self, index, value, role):
if role == QtCore.Qt.EditRole:
old = self.itemFromIndex(index).text()
new = value
MAIN.changeItem(old,new,index)
return QtGui.QStandardItemModel.setData(self, index, value, role)
В MAIN.changeItem я беру «старое» значение и заменяю его «новым» в базе данных, а затем устанавливаю Data с возвращаемым значением. И, наконец, я обновляю модель, чтобы показать результат. Вот так:
def changeItem(self,old,new,index):
dosomethin(old,newindex) # adjust the database and model
self.tableUpdate() # refresh/redraw the table
Но я получаю exit -1073741819, но только если я делаю их один за другим. Если я не обновляю модель (комментируя self.tableUpdate()), а вместо этого делаю что-то еще, что обычно обновляет ее (например, добавляя новый элемент или меняя вкладки), это не вызывает ошибку. Любая идея, почему это происходит?
MAIN
как-то связан с Qt? - person dilbert   schedule 04.05.2014