2012-02-02 105 views
3

我試圖在縮略圖模式下實現文件資源管理器這樣的佈局。這些項目位於它們之間具有固定距離的網格中,並且當您調整主窗口的大小時,項目將被重新定位以適合。Qt動態佈局

例如,在一個小窗口中,您有:

 
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樣式中。但是,這是一樣的;在調整窗口大小後,您已經計算出新窗口中有多少項目,請清理表格並重新填充。

還有固定位置方法。你把物品放在固定的位置,並在每個窗口調整大小後移動它們......這是一個頭痛的問題。

有沒有人嘗試類似的東西 - 一個資源管理器或圖像瀏覽器?你是如何解決這個問題的?

回答

8

我認爲你需要考慮做一些類似示例集合中的FlowLayout。請注意,它有一個python port

+0

是的,這正是我想要的!據我所知,它不能做得比這更簡單... – 2012-02-02 18:38:42