diff options
authorEskil Abrahamsen Blomfeldt <>2014-10-20 14:01:58 +0200
committerEskil Abrahamsen Blomfeldt <>2014-10-24 08:51:11 +0200
commit29d3b9745b4ba57cd79c95a96659f97c85c3b4ee (patch)
parent0f644f48530f4693f7c77fd41ca42085b3218e81 (diff)
Item view: Update item positions when delegate changes
In QComboBox, when you set editable to true on the QComboBox, the delegates will change from QComboBoxMenuDelegate to QComboBoxDelegate. In some styles, such as Fusion, the size of the delegates will be different. So when the delegate is updated, we need to redo the list view layout, otherwise the items will be positioned based on the size of the old delegates, but the popup for the combo box will be sized for the new. This caused the popup to be too small for its items and display a scroll bar. [ChangeLog][QComboBox] Fixed positions of items when QComboBox is set as editable in Fusion style. Change-Id: Ia43ef96efbeee4d6d596c0674bf3898ef94f89a1 Task-number: QTBUG-33537 Reviewed-by: Mitch Curtis <> Reviewed-by: Friedemann Kleint <>
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp
index 88b16db93b..1d8be6398c 100644
--- a/src/widgets/itemviews/qabstractitemview.cpp
+++ b/src/widgets/itemviews/qabstractitemview.cpp
@@ -837,6 +837,7 @@ void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)
d->itemDelegate = delegate;
+ d->doDelayedItemsLayout();