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

Python Tkinter의 메소드 후

<시간/>

Tkinter는 GUI를 만드는 파이썬 라이브러리입니다. 데이터 및 GUI 이벤트를 표시하기 위해 GUI 창 및 기타 위젯을 만들고 조작하는 많은 내장 메소드가 있습니다. 이 기사에서는 After 메소드가 Tkinter GUI에서 어떻게 사용되는지 볼 것입니다.

구문

.after(delay, FuncName=FuncName)
This method calls the function FuncName after the given delay in milisecond

위젯 표시

여기에서 무작위로 단어 목록을 표시하는 프레임을 만듭니다. 우리는 임의의 방식으로 주어진 텍스트 목록을 표시하는 함수를 호출하기 위해 after 메소드와 함께 임의의 라이브러리를 사용합니다.

예시

import random
from tkinter import *

base = Tk()

a = Label(base, text="After() Demo")
a.pack()

contrive = Frame(base, width=450, height=500)
contrive.pack()

words = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri','Sat','Sun']
#Display words randomly one after the other.
def display_weekday():
   if not words:
   return
   rand = random.choice(words)
   character_frame = Label(contrive, text=rand)
   character_frame.pack()
   contrive.after(500,display_weekday)
   words.remove(rand)

base.after(0, display_weekday)
base.mainloop()

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

Python Tkinter의 메소드 후

동일한 프로그램을 다시 실행하면 단어의 다른 순서를 보여주는 결과를 얻습니다.

Python Tkinter의 메소드 후

처리 중지

다음 예제에서는 프로세스가 특정 시간 동안 실행될 때까지 기다렸다가 프로세스를 중지하는 지연 메커니즘으로 after 메소드를 사용하는 방법을 볼 것입니다. 또한 처리를 중지하기 위해 destroy 메소드를 사용합니다.

예시

from tkinter import Tk, mainloop, TOP
from tkinter.ttk import Button

from time import time

base = Tk()

stud = Button(base, text = 'After Demo()')
stud.pack(side = TOP, pady = 8)

print('processing Begins...')

begin = time()

base.after(3000, base.destroy)

mainloop()

conclusion = time()
print('process destroyed in % d seconds' % ( conclusion-begin))

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

processing Begins...
process destroyed in 3 seconds