GreatSnake, Спасибо большое!
Выкладываю решение, возможно пригодится кому
В своей версии Qt 4.8.3 не нашёл у вьюх сигнала SIGNAL(commitData(QWidget*)).
Сделал MyView в который добавил сигнал
Q_SIGNALS:
void commit_data(QWidget *editor);
В MegaForm делаю коннект
MyDelegate *delegate1 = new MyDelegate();
connect(delegate1, SIGNAL(commitData(QWidget*)), view1, SIGNAL(commit_data(QWidget*)));
connect(view1, SIGNAL(commit_data(QWidget*)), this, SLOT(mega_slot1(QWidget*)));
MyDelegate *delegate2 = new MyDelegate();
connect(delegate2, SIGNAL(commitData(QWidget*)), view2, SIGNAL(commit_data(QWidget*)));
connect(view2, SIGNAL(commit_data(QWidget*)), this, SLOT(mega_slot2(QWidget*)));
Слот в MegaForm выглядит примерно так
void MegaForm::mega_slot1(QWidget *editor)
{
QLineEdit *edit = qobject_cast<QLineEdit*>(editor);
qDebug() << "key" << edit->property("key").toString() << "value" << edit->text();
}
В MyDelegate в методе createEditor добавляю такие строки
QLineEdit *editor = new QLineEdit(parent);
editor->setProperty("key", 400);
return editor;