+++ src/gui/itemviews/qlistview.cpp --- src/gui/itemviews/qlistview.cpp @@ -1235,8 +1235,10 @@ if (model() && model()->columnCount(rootIndex()) > 0) { // no columns means no contents if (layoutMode() == SinglePass) d->doItemsLayout(model()->rowCount(rootIndex())); // layout everything - else if (!d->batchLayoutTimer.isActive()) - d->batchLayoutTimer.start(0, this); // do a new batch as fast as possible + else if (!d->batchLayoutTimer.isActive()) { + if (!d->doItemsLayout(100)) // If more items left, batch them.. + d->batchLayoutTimer.start(0, this); // do a new batch as fast as possible + } } QAbstractItemView::doItemsLayout(); }