반응형
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 |
녹두장군1님의
글이 좋았다면 응원을 보내주세요!