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 |
실행화면은 아래와 같습니다.
항목을 선택하면 아래와 같이 메세지 창이 뜹니다.
'파이썬(Python) > 파이썬 GUI(PyQt5 & tkinter)' 카테고리의 다른 글
PyQt5 - QTableWidget(테이블 위젯) 사용하기 2 (0) | 2020.12.14 |
---|---|
PyQt5 - QTableWidget(테이블 위젯) 사용하기 (0) | 2020.12.13 |
PyQt5 - Q Groupbox Widget(그룹박스 위젯) (0) | 2020.12.11 |
PyQt5 - QSpinBox(스핀박스) (0) | 2020.12.10 |
PyQt5 - Radio Button(라디오 버튼) 만들기 (0) | 2020.12.07 |
댓글