PyQt5 - QSpinBox(스핀박스)
본문 바로가기
파이썬(Python)/파이썬 GUI(PyQt5 & tkinter)

PyQt5 - QSpinBox(스핀박스)

by 만초손겸수익 2020. 12. 10.

PyQt5를 이용한 SpinBox 예제입니다.

 

import sys

from PyQt5.QtWidgets import *

 

필요한 모듈을 가져옵니다.

 

class TestWindow(QMainWindow):

    def __init__(self):

        super().__init__()

        self.setupUI()

 

QMainWindow를 상속받아 TestWindow 클래스를 만듭니다.

 

    def setupUI(self):

        self.setWindowTitle("TestWindow")

 

        label = QLabel('수량: ',self)

        label.move(10,20)

 

        self.spinBox = QSpinBox(self)

        self.spinBox.move(40,20)

        self.spinBox.resize(60,20)

        self.spinBox.valueChanged.connect(self.spinBoxValueChanged)

 

윈도우 타이틀을 세팅하고 레이블과 스핀박스를 세팅합니다.

 

    def spinBoxValueChanged(self):

        val = self.spinBox.value()

        print(val)

        msg = '선택된 값: %s' %val

        print(msg)

        QMessageBox.about(self,'선택된 값',msg)

 

스핀박스에 연결될 함수를 만듭니다.

 

if __name__=='__main__':

    app = QApplication(sys.argv)

    window = TestWindow()

    window.show()

    app.exec_()

 

만들어진 창이 실행되도록 합니다.

 

전체 코드는 아래와 같습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import sys
from PyQt5.QtWidgets import *
 
class TestWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()
 
    def setupUI(self):
        self.setWindowTitle("TestWindow")
 
        label = QLabel('수량: ',self)
        label.move(10,20)
 
        self.spinBox = QSpinBox(self)
        self.spinBox.move(40,20)
        self.spinBox.resize(60,20)
        self.spinBox.valueChanged.connect(self.spinBoxValueChanged)
 
    def spinBoxValueChanged(self):
        val = self.spinBox.value()
        print(val)
        msg = '선택된 값: %s' %val
        print(msg)
        QMessageBox.about(self,'선택된 값',msg)
 
if __name__=='__main__':
    app = QApplication(sys.argv)
    window = TestWindow()
    window.show()
    app.exec_()
cs

실행된 화면입니다.

 

수량을 입력하면 아래와 같이 메세지박스가 뜹니다.

728x90
반응형

댓글