PyQt5는 Python을 사용하여 데스크톱 애플리케이션을 만들 수 있는 강력한 GUI 라이브러리입니다. QSpinBox는 PyQt5에서 제공하는 위젯 중 하나로, 숫자 입력을 위한 스핀 박스를 생성하는 데 사용됩니다. 이 블로그 포스트에서는 QSpinBox의 기본 사용법과 주요 기능들을 자세히 설명하겠습니다.
QSpinBox란?
QSpinBox는 사용자가 숫자 값을 쉽게 입력할 수 있도록 해주는 위젯입니다. 위아래로 증가 및 감소 버튼을 제공하며, 직접 값을 입력할 수도 있습니다. 주로 폼이나 설정 창에서 숫자 입력이 필요할 때 사용됩니다.
기본 사용법
QSpinBox를 사용하여 간단한 예제를 만들어보겠습니다. 이 예제에서는 QSpinBox를 포함한 간단한 윈도우를 생성합니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSpinBox, QLabel
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.label = QLabel('0', self)
self.spinbox = QSpinBox(self)
self.spinbox.setRange(0, 100)
self.spinbox.setSingleStep(1)
self.spinbox.valueChanged.connect(self.updateLabel)
vbox = QVBoxLayout()
vbox.addWidget(self.spinbox)
vbox.addWidget(self.label)
self.setLayout(vbox)
self.setWindowTitle('QSpinBox Example')
self.setGeometry(300, 300, 300, 200)
self.show()
def updateLabel(self, value):
self.label.setText(str(value))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
이 코드는 QSpinBox와 QLabel을 포함한 간단한 애플리케이션을 생성합니다. 사용자가 스핀 박스의 값을 변경하면 QLabel에 해당 값이 표시됩니다.
주요 기능
QSpinBox는 다양한 설정을 통해 사용자의 필요에 맞게 커스터마이즈할 수 있습니다. 몇 가지 주요 기능을 살펴보겠습니다.
범위 설정
QSpinBox의 최소값과 최대값을 설정할 수 있습니다. 기본 범위는 0에서 99까지입니다.
self.spinbox.setRange(0, 1000) # 0에서 1000까지의 값 허용
단위 설정
스핀 박스의 값에 단위를 추가할 수 있습니다. 예를 들어, 화폐 단위를 표시하고 싶을 때 사용합니다.
self.spinbox.setSuffix(' $') # 값 뒤에 '$' 추가
단위 증가/감소 설정
스핀 박스의 값이 증가하거나 감소할 때의 단위 간격을 설정할 수 있습니다. 기본값은 1입니다.
self.spinbox.setSingleStep(5) # 5씩 증가 또는 감소
초기값 설정
스핀 박스의 초기값을 설정할 수 있습니다.
self.spinbox.setValue(10) # 초기값을 10으로 설정
소수점 설정
QSpinBox는 정수 값을 다루지만, QDoubleSpinBox를 사용하여 소수점을 포함한 값을 처리할 수 있습니다.
from PyQt5.QtWidgets import QDoubleSpinBox
self.doublespinbox = QDoubleSpinBox(self)
self.doublespinbox.setDecimals(2) # 소수점 두 자리까지 표시
self.doublespinbox.setRange(0.00, 100.00)
self.doublespinbox.setSingleStep(0.1)
이벤트 핸들링
QSpinBox의 값이 변경될 때마다 특정 작업을 수행하도록 이벤트를 연결할 수 있습니다. 예제 코드에서 사용한 valueChanged 시그널은 스핀 박스의 값이 변경될 때 호출됩니다.
from PyQt5.QtWidgets import QDoubleSpinBox
self.doublespinbox = QDoubleSpinBox(self)
self.doublespinbox.setDecimals(2) # 소수점 두 자리까지 표시
self.doublespinbox.setRange(0.00, 100.00)
self.doublespinbox.setSingleStep(0.1)
결론
QSpinBox는 PyQt5에서 숫자 입력을 간단하고 직관적으로 처리할 수 있는 위젯입니다. 다양한 설정과 이벤트 핸들링을 통해 사용자 인터페이스를 더욱 풍부하게 만들 수 있습니다.
'프로그래밍 > python' 카테고리의 다른 글
PyQt5 QTextBrowser 사용법 가이드 (0) | 2024.06.04 |
---|---|
PyQt5 QDateEdit 위젯 사용법 (0) | 2024.06.02 |
PyQt5 QCalendarWidget 사용법 및 속성 (0) | 2024.05.30 |
PyQt5 QPixmap 사용법과 관련 속성 (0) | 2024.05.29 |
PyQt5 QTabWidget 사용법 가이드 (0) | 2024.05.28 |