diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 95ead3ca59f..c36f41ae490 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -2644,6 +2644,7 @@ void QComboBox::showPopup() QPoint above = mapToGlobal(listRect.topLeft()); int aboveHeight = above.y() - screen.y(); bool boundToScreen = !window()->testAttribute(Qt::WA_DontShowOnScreen); + const auto listView = qobject_cast(d->viewContainer()->itemView()); { int listHeight = 0; @@ -2658,6 +2659,8 @@ void QComboBox::showPopup() while (!toCheck.isEmpty()) { QModelIndex parent = toCheck.pop(); for (int i = 0, end = d->model->rowCount(parent); i < end; ++i) { + if (listView && listView->isRowHidden(i)) + continue; QModelIndex idx = d->model->index(i, d->modelColumn, parent); if (!idx.isValid()) continue;