Нужно переопределить pressKeyEvent у виджета который выступает в роли editor'а итема, при нажатии на стрелочки клавиатуры слать какой-нибудь сигнал. Сигнал подвязываешь к делегату, а там уже выполняешь эти методы:
C++ (Qt)
emit commitData(editor);
emit closeEditor(editor, QAbstractItemDelegate::EditNextItem);
Затем наследуешься от вьюхи и переопределяешь слот:
void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) [virtual protected slot]
Тут уже перемещаешь редактирование в нужное место. Единственное надо добавить в namespace EndEditHint 4 своих значения, чтобы перемещаться на любую сторону света.