For switching to the next item via Enter key, you'd intercept that by using an event filter: You can use the delegate class for this.
def eventFilter(self, object, event: QEvent | QKeyEvent, /):
if (object == self._editor
and event.type() == QEvent.Type.KeyPress
and event.key() in (Qt.Key.Key_Return, Qt.Key.Key_Enter)):
self.commitData.emit(object)
self.closeEditor.emit(object, QStyledItemDelegate.EndEditHint.EditNextItem)
return True
return super().eventFilter(object, event)
Then the QLineEdit does not need any further navigation logic