Tkinter의 이벤트 루프와 동시에 사용자 정의 코드 실행
Tkinter를 활용하는 동안 해당 이벤트 루프가 처리 시간을 과도하게 소모한다는 것이 분명해졌습니다. , 사용자 정의 코드 실행을 방해합니다. 특히, 새 무리를 시뮬레이션하려면 지속적인 움직임이 필요하지만 이벤트 루프의 시스템 지배로 인해 이 움직임이 방해를 받습니다.
이 문제를 해결하고 사용자 정의 코드가 메인 루프와 동시에 실행되도록 하려면 멀티스레딩의 복잡성 없이 Tk 객체의 after 메소드를 사용할 수 있습니다.
from tkinter import * root = Tk() def move(): # Custom code to update bird positions root.after(2000, move) # Schedule the move() function to run again in 2 seconds root.mainloop() # Start the Tkinter event loop
after 메소드는 지정된 간격 후에 함수 실행을 예약합니다. 여기서는 이를 사용하여 2초마다 실행되도록 move() 함수를 예약하여 이벤트 루프 반복 사이에 사용자 정의 코드를 실행할 수 있는 기회를 제공합니다.
after 메소드 선언은 다음과 같습니다.
def after(self, ms, func=None, *args): """Call function once after given time. MS specifies the time in milliseconds. FUNC gives the function which shall be called. Additional parameters are given as parameters to the function call. Return identifier to cancel scheduling with after_cancel."""
위 내용은 멀티스레딩 없이 Tkinter의 Mainloop와 동시에 사용자 정의 코드를 실행할 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!