반응형
PyQt의 GUI 객체에서 실제 GUI를 변동시키는 메소드를 구현했을때, 이것을 외부의 쓰레드에서 직접 호출하는 경우 문제가 발생할 수 있다.
이런 경우 동작이 아예 안되거나 프로그램이 멈추거나 하는건 아닌데 경고 메세지가 뜬다.
예시를 들어 설명하겠다.
암튼 메인 page에 있는 gui를 변경하거나 하는 등의 동작을, 외부 스레드에서 하고싶다면 해당 메소드를 외부스레드에서 직접 호출하는게 아니라 유저디파인 시그널 슬롯을 사용한다.
특정 조건이 만족됐을때, 외부스레드에서 메인 gui 관련 메소드를 호출하지말고 메인 gui 객체에 시그널만 날려주자.
메인 gui객체는 이 시그널을 슬롯으로 받아서 gui 를 조작하는 메소드를 부르는 방식으로 구현하면된다.
시그널 슬롯 쓰는 방법은 아래 다른 글 참조.
반응형
'프로그래밍 관련 > PyQt' 카테고리의 다른 글
PyQt 라디오버튼 radio button(2) group box (0) | 2022.08.14 |
---|---|
PyQt 라디오버튼 radio button(1) 라디오버튼 기초 개념 (0) | 2022.08.14 |
PyQt. 사용자 정의 시그널 (0) | 2022.06.15 |
PyQt. 시그널 슬롯에 대하여 (0) | 2022.06.15 |
PyQt gui 경고창 띄우기 Qmessagebox (0) | 2021.12.07 |