1. 코드
2. 상세 내용
- 새로운 시그널을 만들기 위해 pyqtSignal을, 모든 위젯의 상위에 있는 QObject를 추가
- 여러 시그널을 담기 위해 따로 클래스로 정의
- 각 시그널을 pyqtSignal() 정의
- 클래스를 활용해 signal1이라는 인스턴스를 만듭니다.
- 그 객체 안에 closeProgram이라는 시그널을 호출합니다. 그런데 어떤 동작을 하면 시그널을 호출할까요?
- 마우스를 더블클릭하면 closeProgram시그널을 emit()를 통해 동작하게 합니다. 결국
self.close
로 프로그램을 종료하게 됩니다.
Signal()
을 통해 새로운signal2
인스턴스를 생성합니다.
- 마우스가 눌렸다면
addText
라는 시그널을 발생(emit()
)합니다. 이는changelabel
슬롯을 호출하게 되죠.
- 해당 함수에서는 라벨을 변경합니다.
즉 시그널을 만들고(pyqtSignal) 그 시그널을 발생(emit)시키는 어떤 동작함수를 만들어 연결시킨(connect) 슬롯의 동작을 수행하도록 합니다.
3. 실행 화면

