2017-10-23 1 views
0

QGridLayout::addWidget()을 사용하여 여러 위젯을 동적으로 추가하는 QGridLayout이 있습니다. 나는 위젯이 모두 같기 때문에 위젯에 아무런 문제가 없습니다.크기를 조정할 때 QGridLayout에 항목을 정렬하는 방법은 무엇입니까?

그러나 격자 레이아웃을 포함하는 위젯의 크기를 조정할 때 정렬 방법을 알고 싶습니다. 내 위젯이 충분히 넓은 경우 예를 들어, 내가 한 행에 5 위젯에 맞게 수 : 나는 위젯의 폭을 줄이면

------------------------------------------------ 
| ------- ------- ------- ------- ------- | 
| | 1 | | 2 | | 3 | | 4 | | 5 | | 
| ------- ------- ------- ------- ------- | 
|            | 

하지만, 수단, 눈에 보이는 모든 위젯을 가지고 싶습니다 새 행 만들기 :

-------------------- 
| ------- ------- | 
| | 1 | | 2 | | 
| ------- ------- | 
| ------- ------- | 
| | 3 | | 4 | | 
| ------- ------- | 
| -------   | 
| | 5 |   | 
| -------   | 
|     | 

크기 조정 이벤트를 통해 수행 할 수 있다고 생각하지만 어떻게해야합니까?

+0

QGridLayout 그 정책을 구현하지 않습니다, 이 동작을 만들려면 자신 만의 레이아웃을 만들어야합니다. 다음 링크에서는이를 수행하는 방법을 보여줍니다. [사용자 지정 레이아웃 관리자 작성 방법] (http://doc.qt.io/qt-5/layout.html) # how-to-write-a-custom-layout-manager), 또한 원하는 레이아웃 예제를 제공하십시오 : [Flow Layout Example] (http://doc.qt.io/qt-5/qtwidgets -layouts-flowlayout-example.html) – eyllanesc

+0

@eyllanesc Ah, nea 티. QGridLayout을 사용하여 실행할 수없는 이유가 있습니까? 답변으로 의견을 말하고 싶다면 동의하겠습니다. – IAmInPLS

+0

나는 이미 답변을 게시했다 – eyllanesc

답변

1

레이아웃은 위젯 집합의 레이아웃과 크기를 관리하는 데 사용됩니다. QGridLayout은 정적 그리드 내부의 위젯을 처리하도록 지향됩니다. 즉 항목의 열과 행의 위치가 해당 유형의 처리를 만들 수없는 이유를 변경하지 않습니다.

Qt는 훌륭한 문서를 가지고, 그래서 그것은 또한 사용자 정의 레이아웃을 만드는 방법을 알려줍니다 How to Write A Custom Layout Manager

위의 링크를 당신이 원하는 것을 정확하게 예를 보여줍니다 : Flow Layout Example

관련 문제