[Python_trading] 파이썬_GUI(4)

파이썬 활용하여 체크박스 창 만들기

import sys
from PyQt5.QtWidgets import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()

    def setupUI(self):
        self.setGeometry(800,200,300,300)
        #체크박스를 사용하려면 QCheckBox 클래스의 인스턴스를 생성한다. QCheckBox 에 표시될 텍스트와 출력될 부모 위젯을 인자로 전달.
        self.checkBox1= QCheckBox('5',self)
        self.checkBox1.move(10,20)
        self.checkBox1.resize(150,30)
        self.checkBox1.stateChanged.connect(self.checkBoxState)

        self.checkBox2= QCheckBox('20',self)
        self.checkBox2.move(10,50)
        self.checkBox2.resize(150,30)
        self.checkBox2.stateChanged.connect(self.checkBoxState)

        self.checkBox3 = QCheckBox('60',self)
        self.checkBox3.move(10,80)
        self.checkBox3.resize(150,30)
        self.checkBox3.stateChanged.connect(self.checkBoxState)

        self.statusBar  = QStatusBar(self)
        self.setStatusBar(self.statusBar)

    def checkBoxState(self): #QCheckBox 위젯은 동시에 여러개가 선택될 수 있으므로 , if-elif-else 문을 사용하지 않는다.
        msg=''
        if self.checkBox1.isChecked()==True: #isChecked 메서드로 체크 여부를 파악할 수 있음
            msg+='5'
        if self.checkBox2.isChecked()==True:
            msg+='20'
        if self.checkBox3.isChecked()==True:
            msg+='60'
        self.statusBar.showMessage(msg)

if __name__ =='__main__':
    app=QApplication(sys.argv)
    mywindow = MyWindow()
    mywindow.show()
    app.exec_()
 

댓글