> 백엔드 개발 > 파이썬 튜토리얼 > Tkinter의 이벤트 루프와 동시에 외부 코드를 어떻게 실행할 수 있습니까?

Tkinter의 이벤트 루프와 동시에 외부 코드를 어떻게 실행할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-21 09:53:10
원래의
320명이 탐색했습니다.

How Can I Run External Code Concurrently with Tkinter's Event Loop?

Tkinter의 이벤트 루프와 동시에 외부 코드 실행

Tkinter의 이벤트 루프 내에 사용자 정의 코드를 통합하는 것은 어려울 수 있습니다. 이 경우, 초보 프로그래머는 Tkinter가 이벤트 루프를 지배하여 새 무리 시뮬레이션이 지속적으로 실행되는 것을 방지하는 문제에 직면하고 있습니다.

이 문제를 해결하기 위해 Tk 객체는 강력한 메서드인 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."""
로그인 후 복사

after를 활용하면 지정된 시간 간격 후에 함수가 실행되도록 예약할 수 있습니다. 예는 다음과 같습니다.

from tkinter import *

root = Tk()

def task():
    print("hello")
    root.after(2000, task)  # reschedule event in 2 seconds

root.after(2000, task)
root.mainloop()
로그인 후 복사

이 예에서 작업 기능은 Tkinter 이벤트 루프 내에서 2초마다 실행되도록 예약되어 있습니다. 메인 루프 기능은 예약된 작업이 실행되는 동안 Tkinter가 이벤트를 계속 처리하도록 보장합니다.

이 솔루션은 Tkinter의 이벤트 루프와 함께 외부 코드를 실행할 수 있는 안정적이고 간단한 방법을 제공하여 복잡한 멀티스레딩 개념이 필요하지 않으며 해킹을 방지합니다. "버튼을 누르고 있는" 방법.

위 내용은 Tkinter의 이벤트 루프와 동시에 외부 코드를 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿