--- a/src/widgets/widgets/qcombobox.cpp 2023-11-17 06:15:29 +++ b/src/widgets/widgets/qcombobox.cpp 2024-02-21 11:34:00 @@ -715,6 +715,23 @@ bool QComboBoxPrivateContainer::eventFilter(QObject *o, QEvent *e) { switch (e->type()) { + case QEvent::KeyPress: { + QKeyEvent *keyEvent = static_cast(e); + switch (keyEvent->key()) { + case Qt::Key_Enter: + case Qt::Key_Return: +#ifdef QT_KEYPAD_NAVIGATION + case Qt::Key_Select: +#endif + if (isVisible() && view->currentIndex().isValid() && view->currentIndex().flags().testFlag(Qt::ItemIsEnabled)) { + keyEvent->accept(); + combo->hidePopup(); + emit itemSelected(view->currentIndex()); + return true; + } + } + break; + } case QEvent::ShortcutOverride: { QKeyEvent *keyEvent = static_cast(e); switch (keyEvent->key()) { @@ -724,9 +741,7 @@ case Qt::Key_Select: #endif if (view->currentIndex().isValid() && view->currentIndex().flags().testFlag(Qt::ItemIsEnabled)) { - combo->hidePopup(); keyEvent->accept(); - emit itemSelected(view->currentIndex()); } return true; case Qt::Key_Down: