PyQt5 - Q CheckBox Widget(체크박스 위젯)
본문 바로가기
파이썬(Python)/파이썬 GUI(PyQt5 & tkinter)

PyQt5 - Q CheckBox Widget(체크박스 위젯)

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

Qcheckbox 위젯을 사용한 예제입니다.

 

class TestWindow(QMainWindow):

    def __init__(self):

        super().__init__()

        self.setupUI()

 

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

 

    def setupUI(self):

        self.setWindowTitle('체크박스')

 

        self.checkBox1 = QCheckBox('항목1'self)

        self.checkBox1.move(20,20)

        self.checkBox1.setChecked(True)

        self.checkBox1.clicked.connect(self.checkBoxStateChanged)

 

        self.checkBox2 = QCheckBox('항목2'self)

        self.checkBox2.move(20,40)

        self.checkBox2.clicked.connect(self.checkBoxStateChanged)

 

        self.checkBox3 = QCheckBox('항목3'self)

        self.checkBox3.move(20,60)

        self.checkBox3.clicked.connect(self.checkBoxStateChanged)

 

윈도우 Title을 만들고, 각 체크박스를 만들고 checkBoxsStateChanged라는 함수와 연결합니다.

 

    def checkBoxStateChanged(self):

        msg = ''

        if self.checkBox1.isChecked():

            msg += '항목1'

        if self.checkBox2.isChecked():

            msg += '항목2'

        if self.checkBox3.isChecked():

            msg += '항목3'

 

        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
32
33
34
35
36
37
38
39
40
import sys
from PyQt5.QtWidgets import *
 
class TestWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()
 
    def setupUI(self):
        self.setWindowTitle('체크박스')
 
        self.checkBox1 = QCheckBox('항목1'self)
        self.checkBox1.move(20,20)
        self.checkBox1.setChecked(True)
        self.checkBox1.clicked.connect(self.checkBoxStateChanged)
 
        self.checkBox2 = QCheckBox('항목2'self)
        self.checkBox2.move(20,40)
        self.checkBox2.clicked.connect(self.checkBoxStateChanged)
 
        self.checkBox3 = QCheckBox('항목3'self)
        self.checkBox3.move(20,60)
        self.checkBox3.clicked.connect(self.checkBoxStateChanged)
 
    def checkBoxStateChanged(self):
        msg = ''
        if self.checkBox1.isChecked():
            msg += '항목1'
        if self.checkBox2.isChecked():
            msg += '항목2'
        if self.checkBox3.isChecked():
            msg += '항목3'
 
        QMessageBox.about(self'선택된 항목', msg+'선택됨')
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = TestWindow()
    window.show()
    app.exec_()
cs

 

실행화면은 아래와 같습니다.

 

항목을 선택하면 아래와 같이 메세지 창이 뜹니다.

 

728x90
반응형

댓글