Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter에서 무한 루프를 실행하는 방법은 무엇입니까?

<시간/>

Tkinter에서 무한 루프를 실행하기 위해 사용자가 루프를 중지하기로 결정할 때까지 지정된 시간 후에 메소드를 재귀적으로 호출하기 위해 after 메소드를 사용할 것입니다. 간단한 예를 들어 무한 루프를 시작하고 중지하는 방법을 살펴보겠습니다.

단계 -

  • 필요한 라이브러리를 가져오고 tkinter 프레임의 인스턴스를 만듭니다.

  • win.geometry 방법을 사용하여 프레임의 크기를 설정합니다.

  • 다음으로 자신을 재귀적으로 호출하고 창에 명령문을 인쇄하는 사용자 정의 함수 "infinite_loop"을 만듭니다.

  • 무한 루프를 제어하기 위해 두 개의 사용자 정의 함수, start() 및 stop()을 추가로 정의하십시오. 전역 변수 "조건"을 정의합니다. start() 내부에 condition=True를 설정하고 stop() 내부에 condition=False를 설정합니다.

  • start() 및 stop() 함수를 호출하는 두 개의 버튼을 만듭니다.

  • after() 메서드를 사용하여 1초마다 무한 루프를 재귀적으로 호출합니다.

  • 마지막으로 애플리케이션 창의 메인 루프를 실행합니다.

# Import the required library
from tkinter import *

# Create an instance of tkinter frame
win=Tk()

# Set the size of the Tkinter window
win.geometry("700x350")

# Define a function to print something inside infinite loop
condition=True
def infinite_loop():
   if condition:
      Label(win, text="Infinite Loop!", font="Arial, 25").pack()

   # Call the infinite_loop() again after 1 sec win.after(1000, infinite_loop)

def start():
   global condition
   condition=True

def stop():
   global condition
   condition=False

# Create a button to start the infinite loop
start = Button(win, text= "Start the Loop", font="Arial, 12", command=start).pack()
stop = Button(win, text="Stop the Loop", font="Arial, 12", command=stop).pack()

# Call the infinite_loop function after 1 sec.
win.after(1000, infinite_loop)

win.mainloop()

출력

이 코드를 실행하면 다음 출력이 생성됩니다 -

Tkinter에서 무한 루프를 실행하는 방법은 무엇입니까?

"Infinite Loop!"를 계속 인쇄하는 무한 루프를 실행하려면 "루프 시작" 버튼을 클릭하십시오. 매 초 후. 무한 루프를 중지하려면 "반복 중지"를 클릭하십시오.