diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 698b6341a9f..76904aaaddb 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -2646,6 +2646,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; @@ -2660,6 +2661,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;