2012-02-02 2 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

그래, 그게 내가 원하는거야! 내가 아는 바로는, 그것보다 더 간단하게 할 수는 없다. –