파이썬 tkinter 순차적으로 실행하는 방법을 알고 싶습니다.

after 함수를 순차적으로 실행하고 싶습니다. 예를들어

root.after(10, A)
root.after(10, B)

이렇게 있다면,

10ms뒤 A가 실행되고 A가 실행되면 10ms뒤에 B가 실행되도록 하고싶은데 검색해도 안나오는것 같네요..

1답변

  • 좋아요

    1

    싫어요
    채택취소하기

    threading의 타이머 함수를 사용하면 될 것 같은데요.. 간단하게 아래와 같은 도식이 가능할 것 같습니다. threading.Timer에서 콜백으로 다른 함수를 호출할 때, 함수 입력값을 아래와 같이 넣어야 한다는 점을 주의하시면 좋을 것 같습니다.

    import threading
    
    def b_function():
        print("This is B")
    
    def a_function(time):
        print("This is A")
        threading.Timer(time, b_function).start()
    
    def genesis_function(time):
        threading.Timer(time, a_function, [time]).start()
    
    genesis_function(10)
    
    #10초후 
    This is A.
    #10초후
    This is B.
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.