diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/itemviews/qlistview.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 315960648b..82792d5fef 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -3185,7 +3185,12 @@ int QListView::visualIndex(const QModelIndex &index) const Q_D(const QListView); d->executePostedLayout(); QListViewItem itm = d->indexToListViewItem(index); - return d->commonListView->itemIndex(itm); + int visualIndex = d->commonListView->itemIndex(itm); + for (int row = 0; row <= index.row() && visualIndex >= 0; row++) { + if (d->isHidden(row)) + visualIndex--; + } + return visualIndex; } QT_END_NAMESPACE |