def setEditorData(self, editor, index): text = from_qvariant(index.model().data(index, Qt.DisplayRole), str) if index.column() in (MOD1, MOD2, MOD3, KEY): i = editor.findText(text) if i == -1: i = 0 editor.setCurrentIndex(i) else: QItemDelegate.setEditorData(self, editor, index)