Вторые сутки долблюсь. В общем, есть у меня две таблицы, скажем
table1: table2:
id : int, id: int
name_id : int => name: string
В table1 name_id является ключом к 'table2'.'name'
Я беру модель table2 и даю ее QCompleter, установив completionColumn в 1, все дополняется, казалось бы, хорошо. Но по возвращению в setModelData у меня есть только editor, в который чертов QCompleter записывает table2.name и следовательно, это все чем я располагаю. Неужели грепать table2 на предмет name и брать оттуда id, который записывать уже в table1? При том, что name может быть далеко не уникальным?
Как сделать так, чтобы при редактировании этого поля в QCompleter выскакивал popup со значениями 'table2'.'name', но в ячейку записывалось 'table2'.'id' из той же модели? Я пробовал сабклассить QCompleter, но не осилил где возвращается значение выбранного индекса из popup. Я даже создал в своем делегате слот commitAndClose(QModelIndex), который присоединил к сигналу activated(QModelIndex) QCompleter'а, но все, что у меня в нем есть, это QModelIndex, который еще и константный. Это просто капец какой-то, хелп!
qt