승상의 코딩 블로그

[파이썬] QtDesigner 에서 창의 크기에 따라 위젯이 자동조절 되도록 하는 방법 본문

Python (파이썬)

[파이썬] QtDesigner 에서 창의 크기에 따라 위젯이 자동조절 되도록 하는 방법

양승상 2025. 1. 23. 21:45
반응형

----추가

격자에서 어떤 위치에 있는지 파악하기 위해서 다음 포스팅에서는 Grid Layout "위젯" 을 활용했다.

이번 포스팅은 "레이아웃을 활용해야한다" 전달하는 의미로 봐주길 바란다.

최종적으로는 다음 포스팅처럼 Grid Layout "위젯" 을 사용하면 좋을 듯하다.

2025.01.23 - [Python (파이썬)] - [파이썬] QtDesigner 로 Grid Layout 위젯 활용하기

 

[파이썬] QtDesigner 로 Grid Layout 위젯 활용하기

2025.01.23 - [Python (파이썬)] - [파이썬] QtDesigner 에서 창의 크기에 따라 위젯이 자동조절 되도록 하는 방법 [파이썬] QtDesigner 에서 창의 크기에 따라 위젯이 자동조절 되도록 하는 방법파이썬에서는

seungsang.tistory.com

----

 

파이썬에서는 QtDesigner 를 많이 활용하여 GUI 를 만드는 경우가 많다.

만들다보면 화면 크기에 따라 위젯이 크기나 위치가 변화하지 않아 불편한 점들이 생긴다.

ex1. 화면에 다른 것도 띄워야하는데, 화면을 줄이면 UI가 사라짐.

화면을 제어하면 UI 가 의도하지 않은 상태가 되어버린다.

 

이럴 때, 화면에 GridLayout 을 적용하면 설정한 제약상황(아래 예제에서는 높이의 상한을 200으로 설정)에 맞게 레이아웃이 조정된다.

Grid Layout 을 활용

 

 

Layout 위젯은 다양하지만 격자 형태의 레이아웃을 사용한다고 생각하고 GridLayout 을 활용하는 것을 알아본다.

(전체 틀은 격자형으로 하는 경우가 많으므로.)

 

사용방법

 

1. 버튼을 추가한 뒤, 배경에서 오른쪽 버튼을 누른 후 "배치 -> 격자형으로 배치" 를 선택한다.

(버튼이 없다면 배치할게 없으니 배치가 활성화 되지 않는다.)

Grid Layout

 

전체의 Grid Layout 이라는 위젯도 있지만, 현재의 사용법은 창 자체를 Grid Layout 으로 활용한다고 생각하면 되겠다.

 

하지만 추가한 버튼은 창의 크기에 따라 좌우로만 커지고 위아래로 커지지 않는다. Button 은 원래 이런 속성을 가지고 있기 떄문이다.

좌우로만 커지는 버튼

 

2. 버튼이 원래가진 속성(제약)을 변경해준다.

Button 의 속성 변경

버튼을 누르면 속성 편집기를 확인할 수 있다.

수직 정책을 "Fixed -> Expanding"(고정된 높이에서 확장하도록) 으로 변경해준다.

그리고 maximumSize 를 변경하여 최대 확장될 수 있는 크기를 제한한다.

버튼의 크기가 설정한 값(위 예제는 200)으로 설정된다.

창의 크기를 변경시키면 창의 높이가 200 보다 클 때는 200으로 고정되지만, 창의 높이가 200보다 작을 때는 창의 높이와 같이 움직임을 확인할 수 있다.

반응형
Comments