Я пытаюсь реализовать макет, например, файловый менеджер в режиме миниатюр.Элементы находятся в сетке с фиксированным расстоянием между ними, и когда вы изменяете размер главного окна, элементы перемещаются в соответствии с размером.
Например, в небольшом окне у вас есть:
i1 i2 i3
j1 j2 j3
k1 k2 k3
Но когда окно шире, элементы становятся:
i1 i2 i3 j1
j2 j3 k1 k2
k3
А если вы сделаете окно еще шире, элементы станут:
i1 i2 i3 j1 j2
j3 k1 k2 k3
Я пытаюсьреализовать его настолько просто, насколько возможно, возможно, используя только классы по умолчанию? ...
HBoxLayout не переполняется, если вы помещаете бесконечное количество элементов;они просто выстраиваются бесконечно.
GridLayout не может помочь, потому что после того, как вы поместили элементы первыми, после изменения размера окна, вам нужно очистить макет, пересчитать количество элементов, заново заполнить макетс новым заказом.Он не перемещает элементы автоматически.
Другим способом может быть помещение элементов в TableWidget в стиле Qt3.Но это точно так же;после изменения размера окна вы должны рассчитать, сколько элементов помещается в новом окне, очистить таблицу и заново заполнить ее.
Существует также метод фиксированного положения.Вы помещаете элементы в фиксированное положение и перемещаете их после каждого изменения размера окна ... это головная боль.
Кто-нибудь пробовал что-то подобное - проводник или просмотрщик изображений?Как вы решили эту проблему?