+ for (int i = layoutCount - 1; i >= 0; i--) {
+ QLayoutItem *item = layout->takeAt(i);
+ if (item && item->widget()) items.append(item);
+ }
+
+ const int itemCount = items.size();
+ const int cols = 4; // itemCount / 3;
+ for (int i = itemCount - 1; i >= 0; i--) {
+ QLayoutItem *item = items.at(i);
+ int index = itemCount - 1 - i;
+ layout->addItem(item, index / cols, index % cols);
+ }