[PyQt5] 위젯, 체크박스, 메소드, 변화,
2020. 2. 12. 14:17ㆍIT/PyQt5
체크박스를 사용해서 체크했을 때, 체크를 풀었을 때 상황에 따라 다양한 옵션을 적용할 수 있습니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt
class QCheckBoxApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
checkbox1 = QCheckBox('첫 번째 체크박스', self)
checkbox2 = QCheckBox('두 번째 체크박스', self)
checkbox1.move(20,10)
checkbox2.move(20, 30)
checkbox1.toggle()
checkbox1.stateChanged.connect(self.changeTitle)
checkbox2.stateChanged.connect(self.changeColor)
self.setWindowTitle('체크박스')
self.setGeometry(500,500,200,80)
self.show()
def changeTitle(self, state):
if state == Qt.Checked:
self.setWindowTitle('제목 수정됨')
else:
self.setWindowTitle(' ')
def changeColor(self, state):
if state == Qt.Checked:
self.setStyleSheet('background-color: green;')
else:
self.setStyleSheet('background-color: black')
if __name__ == "__main__":
app = QApplication(sys.argv)
ax = QCheckBoxApp()
sys.exit(app.exec_())
체크박스를 2개를 만들어 각각 다른 메소드를 적용하였습니다. 첫 번째 체크박스를 선택하면 제목이 수정되고, 두 번째 체크박스를 선택하면 배경 색이 바뀝니다. 원리는 체크박스를 상태가 변환된다는 시그널 발생 시 특정 메소드를 실행하는 방식입니다.
'IT > PyQt5' 카테고리의 다른 글
[PyQt5] 위젯, 콤보박스, 리스트, 선택 (0) | 2020.02.12 |
---|---|
[PyQt5] 위젯, 라디오, 단일, 선택 (0) | 2020.02.12 |
[PyQt5] 위젯, 레이블, 라벨, 텍스트, 글 (0) | 2020.02.12 |
[PyQt5] 위젯, 버튼, 입력, 시그널, 매소드 (0) | 2020.02.12 |
[PyQt5] 레이아웃, 배치, 그리드, 행열, 테이블 (0) | 2020.02.12 |