동기함수로 작성되어 있는 경우,
위에서부터 차례대로 함수를 수행한다.
예를 들어,
실행하기 버튼을 누르면
실행하기 버튼에 해당되어 있는 함수가 끝나기 전까진
어떠한 버튼도 눌리지 않는다.
그래서 나는 실행하기 버튼을 누른 상태에서
종료하기 버튼을 눌러 상태를 바꿔보려고 한다.
처음엔 비동기함수로 작성하려 했으나
Qt designer로 파이썬 ui를 구현해서,,
좀 어렵게 됐다..
(변명이라면 변명이겠지만,,
아직 방법을 잘 모름..)
1. def __init__ () 함수에
stop_button 변수 (bool 타입)를 선언해준다.
값은 False
2. 실행하기 메서드 (Thread 이용)
위 함수 execute1은
Thread를 정의해둔 함수!
즉 execute 함수가 진또배기라는 거!
위 함수는 그냥,, 뭐랄까
스레드를 작동시키는 단순도구일 뿐!
def 실행하기 메소드()에서
if문을 걸어줘야 한다.
stop_button의 값이 true일 경우,
stop_button의 값을 다시 false로 바꾼 뒤
break문을 걸어서
while문을 빠져나오고
실행 함수는 더이상 수행되지 않는다.
3. 종료 함수
종료 함수 소스는 이렇다.
참고 블로그
'여니의 프로그래밍 study > 파이썬' 카테고리의 다른 글
[Python] lambda 함수 정리 (0) | 2021.04.27 |
---|---|
[Python] sort, sorted, key 매개변수 이용한 정렬 (0) | 2021.04.27 |
[파이썬] 람다 lambda 함수 (0) | 2021.02.02 |
[파이썬]try,except 어떤 에러가 일어났는지 출력하기 (0) | 2021.01.19 |
[파이썬] 리스트 내 딕셔너리 key 이용해서 value(값) 추출하기 (0) | 2021.01.19 |