Qt动态布局

Cri*_*tin 3 qt pyqt

我正在尝试以缩略图模式实现文件浏览器之类的布局.这些项目位于网格中,它们之间的距离固定,当您调整主窗口大小时,项目会重新定位以适合.

例如,在一个小窗口上,您有:

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样式中.但那是一样的; 在窗口调整大小后,您已计算新窗口中适合的项目数,清理表格并重新填充.

还有固定位置方法.你把物品放在固定的位置,并在每个窗口调整大小后移动它们......这很令人头疼.

有没有人尝试这样的东西 - 探险家或图像浏览器?你是怎么解决这个问题的?

Wes*_*ker 8

我认为您需要考虑从示例集中执行类似FlowLayout的操作.请注意,它有一个python端口.