728x90
반응형
QGroupBox는 그룹화된 위젯들을 하나의 박스로 묶어주는 컨테이너 위젯으로, 주로 관련된 옵션들을 그룹화하여 사용자에게 제공할 때 유용하게 사용됩니다. 예제를 통해 사용법을 알아보겠습니다.
1. 기본 예제: QGroupBox 만들기
이제 기본적인 QGroupBox 예제를 만들어보겠습니다. 이 예제에서는 QGroupBox를 사용하여 여러 개의 라디오 버튼을 그룹화합니다.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGroupBox, QRadioButton, QVBoxLayout, QWidget
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('QGroupBox 예제')
self.setGeometry(100, 100, 300, 200)
self.initUI()
def initUI(self):
# QGroupBox 생성
groupBox = QGroupBox('옵션 선택', self)
groupBox.setGeometry(50, 50, 200, 100)
# 라디오 버튼 생성
radio1 = QRadioButton('옵션 1', self)
radio2 = QRadioButton('옵션 2', self)
radio3 = QRadioButton('옵션 3', self)
# 레이아웃 생성 및 라디오 버튼 추가
vbox = QVBoxLayout()
vbox.addWidget(radio1)
vbox.addWidget(radio2)
vbox.addWidget(radio3)
# QGroupBox에 레이아웃 설정
groupBox.setLayout(vbox)
# 메인 위젯 설정
mainWidget = QWidget()
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainWidget.setLayout(mainLayout)
self.setCentralWidget(mainWidget)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
2. QGroupBox의 스타일 및 기능 확장
QGroupBox는 다양한 스타일과 기능을 제공하여 사용자 인터페이스를 더 풍부하게 만들 수 있습니다. 다음은 QGroupBox의 스타일을 변경하고 기능을 확장하는 몇 가지 방법입니다.
QGroupBox 스타일 설정
QGroupBox의 스타일을 변경하려면 스타일 시트를 사용할 수 있습니다. 다음은 QGroupBox의 배경색과 테두리 스타일을 변경하는 예제입니다.
groupBox.setStyleSheet("""
QGroupBox {
background-color: #f0f0f0;
border: 2px solid #000000;
border-radius: 5px;
margin-top: 10px;
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top center;
padding: 0 3px;
background-color: #ffffff;
}
""")
QGroupBox 내의 위젯 상태 변경
QGroupBox 내의 위젯들의 상태를 변경할 수 있습니다. 예를 들어, 특정 라디오 버튼이 선택되었을 때 다른 위젯들을 비활성화할 수 있습니다.
from PyQt5.QtCore import Qt
def on_radio_button_toggled():
if radio1.isChecked():
radio2.setDisabled(True)
radio3.setDisabled(True)
else:
radio2.setDisabled(False)
radio3.setDisabled(False)
radio1.toggled.connect(on_radio_button_toggled)
QGroupBox는 관련된 위젯들을 그룹화하여 사용자에게 더 나은 인터페이스를 제공하는 데 유용합니다. 다양한 스타일과 기능을 통해 QGroupBox를 더욱 활용해 보세요.
728x90
반응형
'프로그래밍 > python' 카테고리의 다른 글
PyQt5 QPixmap 사용법과 관련 속성 (0) | 2024.05.29 |
---|---|
PyQt5 QTabWidget 사용법 가이드 (0) | 2024.05.28 |
Qsplitter 의 모든 기능과 사용법 (0) | 2024.05.24 |
PyQt5 QSlider와 QDial의 모든 기능과 속성 사용법 (0) | 2024.05.23 |
PyQt5 QProgressBar의 속성과 사용법 (0) | 2024.05.22 |