делегатами надо.
зачем
Ведь есть сигнал
C++ (Qt)
void QAbstractItemModel::dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles = QVector<int> ())
Upd. В очередной раз поспешил, ведь при изменении значения комбо-бокса данные в модели меняются не сразу. Да, в этом случае только через делегат.
как сделать, чтобы QComboBox отображался сразу в таблице (а не только при начале редактирования)?
Никак. Qt-ишный MVC для этого не предназначен.
Коли требуется такое поведение, добавляй комбо-боксы через
C++ (Qt)
void QTreeWidget::setItemWidget(QTreeWidgetItem * item, int column, QWidget * widget)
Но в этом случае сам должен будешь в модель применять изменения.