[python] PyQt에서의 레이아웃 관리

PyQt는 파이썬을 위한 Qt 프레임워크의 파이썬 바인딩입니다. PyQt를 사용하면 크로스 플랫폼 데스크톱 애플리케이션을 개발할 수 있습니다. 이때, 애플리케이션의 레이아웃을 효과적으로 관리하는 것이 중요합니다.

PyQt에서는 다양한 레이아웃 관리자를 제공하여 애플리케이션의 요소를 정렬하고 배치할 수 있습니다. 여기서는 PyQt에서 가장 일반적으로 사용되는 레이아웃 관리자인 QVBoxLayout과 QHBoxLayout에 대해 알아보겠습니다.

QVBoxLayout

QVBoxLayout은 수직으로 정렬된 위젯의 컨테이너입니다. QVBoxLayout을 사용하면 위젯을 위에서 아래로 아래로 차례로 배치할 수 있습니다. QVBoxLayout은 다음과 같이 사용될 수 있습니다.

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton

# QApplication 생성
app = QApplication([])

# QWidget 생성
widget = QWidget()

# QVBoxLayout 생성
layout = QVBoxLayout()

# 위젯 추가
layout.addWidget(QPushButton('버튼 1'))
layout.addWidget(QPushButton('버튼 2'))
layout.addWidget(QPushButton('버튼 3'))

# QWidget의 레이아웃으로 설정
widget.setLayout(layout)

# QWidget 출력
widget.show()

# QApplication 실행
app.exec_()

QHBoxLayout

QHBoxLayout은 수평으로 정렬된 위젯의 컨테이너입니다. QHBoxLayout을 사용하면 위젯을 왼쪽에서 오른쪽으로 차례로 배치할 수 있습니다. QHBoxLayout은 다음과 같이 사용될 수 있습니다.

from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton

# QApplication 생성
app = QApplication([])

# QWidget 생성
widget = QWidget()

# QHBoxLayout 생성
layout = QHBoxLayout()

# 위젯 추가
layout.addWidget(QPushButton('버튼 1'))
layout.addWidget(QPushButton('버튼 2'))
layout.addWidget(QPushButton('버튼 3'))

# QWidget의 레이아웃으로 설정
widget.setLayout(layout)

# QWidget 출력
widget.show()

# QApplication 실행
app.exec_()

PyQt에서의 레이아웃 관리는 애플리케이션의 UI를 효과적으로 구성할 수 있는 중요한 요소입니다. QVBoxLayout과 QHBoxLayout을 사용하여 위젯들을 정렬하고 배치할 수 있으며, 이를 통해 견고하고 사용자 친화적인 UI를 개발할 수 있습니다.

참고 자료: