안녕하세요

PyQt5에서 CheckBox를 사용하는 방법에 대해서

알아보겠습니다.

 

CheckBox는 미리 설정해놓은 값에 대해서

on/off 하는 기능입니다.

체크표시를 키고 끈다고 생각하시면 됩니다.

 

그럼 어떻게 사용하는지 알아보겠습니다.

 

 

우선 3개의 체크박스와 하나의 라벨을 designer를 이용하여

만들었습니다.

 

 

import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

UI = 'QCheckBox.ui'
class Dialog(QDialog):
    def __init__(self):
        super().__init__()
        uic.loadUi(UI, self)
        self.setting()

    def setting(self):
        self.cb_1.stateChanged.connect(self.change)
        self.cb_2.stateChanged.connect(self.change)
        self.cb_3.stateChanged.connect(self.change)

    def change(self):
        i = ''
        ii = ''
        iii = ''
        if self.cb_1.isChecked() == True:
            i = self.cb_1.text()
        if self.cb_2.isChecked() == True:
            ii = self.cb_2.text()
        if self.cb_3.isChecked() == True:
            iii = self.cb_3.text()
        self.lb_1.setText(i+' '+ii+' '+iii)

app = QApplication(sys.argv)
ex = Dialog()
ex.show()
sys.exit(app.exec_())

코드는 다음과 같습니다.

3개의 체크박스 중에서 체크가 된 것을

라벨에 표시하도록 했습니다.

 

 

실행화면입니다.

미리 만들어 놓은 3개의 체크박스와 라벨이 보이네요

이제 각각의 경우에 대해서 동작시켜 보겠습니다.

 

 

우선 "안녕하세요"만 체크했을 때에는

라벨에 "안녕하세요"만 표시가 되네요.

 

 

"안녕하세요"와 "오드메이커입니다" 두개를 체크했을 때 입니다.

아래에 라벨에서도 두가지 모두 표시가 됩니다.

 

 

이번에는 3개 모두 체크해보겠습니다.

라벨에서도 선택된 체크박스의 값들이 모두 표시가 됩니다.

 

 

"안녕하세요"를 빼보겠습니다.

이번에는 라벨에서 "안녕하세요"가 빠지네요

 

 

마찬가지로 "오드메이커입니다."를 빼니

"안녕하세요 잘 부탁드립니다."만 표시되는 것을 확인 할 수 있습니다.

 

간단하게 설정값에 대해서 on/off기능이 필요할 경우에

체크박스를 사용하면 유용할 듯 합니다.

 

글 봐주셔서 감사합니다.