반응형
QGroupBox 란 화면에서 컨트롤을 그룹 지을 때 사용하는 위젯을 말합니다. 특성이 다른 옵션이나 구분이 필요한 컨트롤을 한곳에 묶어서 보여주면 사용자가 화면을 조작하는데 도움이 됩니다. 주로 옵션버튼이나 체크박스를 그룹으로 묶을 때 많이 사용합니다.
◎ 1. 그룹 박스 만들어서 화면에 추가하기 |
▼ 먼저 화면에 추가할 2개의 QGroupBox 객체를 생성합니다.
from PyQt5.QtWidgets import QGroupBox
gb_top = QGroupBox('Box group 1')
gb_bottom = QGroupBox('Box group 2')
▼ 다음은 2개의 QGroupBox 를 화면에 추가하기 위해서 3단계 절차를 거칩니다. 먼저 QGroupBox 를 배치할 QGridLayout 을 생성하고 addWidget() 함수를 이용해서 추가합니다. 다음은 위젯을 만들어서 QGridLayout 을 추가합니다. 마지막으로 QMainWindow 의 setCentralWidget() 함수를 이용해서 QGridLayout 가 포함된 위젯을 세팅합니다.
from PyQt5.QtWidgets import QWidget, QGroupBox, QGridLayout
# 1. Layout 에 QGroupBox 를 추가한다.
boxlayout = QGridLayout(self)
boxlayout.addWidget(gb_top, 0, 0)
boxlayout.addWidget(gb_bottom, 1, 0)
# 2. QWidget 에 Layout 을 추가한다.
widget = QWidget()
widget.setLayout(boxlayout)
# 3. QMainWindow 에 QWidget 을 추가한다.
self.setCentralWidget(widget)
◎ 2. 그룹 박스에 위젯 추가하기 |
▼ 그룹박스에 위젯을 추가하기 위해서는 setLayout() 함수를 사용해야 합니다. 그 말은 먼저 Layout 객체에 위젯을 추가하고 그렇게 만든 Layout 객체를 그룹박스에 추가해야 된다는 의미입니다. 두 그룹박스에 각각 QCheckBox 와 QRadioButton 을 추가했습니다.
from PyQt5.QtWidgets import QRadioButton, QCheckBox, QVBoxLayout
# 상단 그룹박스에 QCheckBox 추가
def add_groupbox_top(self, groupbox):
check1 = QCheckBox('Check1')
check2 = QCheckBox('Check2')
check3 = QCheckBox('Check3')
vbox = QVBoxLayout()
vbox.addWidget(check1)
vbox.addWidget(check2)
vbox.addWidget(check3)
groupbox.setLayout(vbox)
# 하단 그룹박스에 QRadioBox 추가
def add_groupbox_bottom(self, groupbox):
radio1 = QRadioButton('Radio1')
radio2 = QRadioButton('Radio2')
radio3 = QRadioButton('Radio3')
vbox = QVBoxLayout()
vbox.addWidget(radio1)
vbox.addWidget(radio2)
vbox.addWidget(radio3)
groupbox.setLayout(vbox)
반응형
'파이썬 Python' 카테고리의 다른 글
파이썬(Python) 문자열 데이터 타입과 연산자 사용하기 (0) | 2024.11.10 |
---|---|
Python 파이썬 for 문 사용하기 (1) | 2024.11.08 |
파이썬(Python) PyQt5 QVBoxLayout, QHBoxLayout 레이아웃 사용하기 (1) | 2024.10.26 |
파이썬 Python 숫자형 데이터 타입 (정수, 실수) (1) | 2024.10.25 |
파이썬(Python) 기본 개발툴 IDLE 편집기 이용하는 방법 (0) | 2024.10.11 |
파이썬(Python) PyQt5 QDial 사용하기 (1) | 2024.10.04 |
파이썬(Python) PyQt5 화면 위치와 크기 조절하기 (0) | 2024.09.26 |
파이썬(Python) PyQt5 Qt Designer 다운받아 화면 구현하기 (1) | 2024.09.26 |