Computer >> Máy Tính >  >> Lập trình >> Python

sau phương thức trong Python Tkinter

Tkinter là một thư viện python để tạo GUI. Nó có nhiều phương pháp tích hợp để tạo và thao tác với các cửa sổ GUI và các tiện ích con khác để hiển thị dữ liệu và các sự kiện GUI. Trong bài viết này, chúng ta sẽ xem phương thức after được sử dụng như thế nào trong Tkinter GUI.

Cú pháp

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

Tiện ích con hiển thị

Ở đây chúng tôi tạo một khung để hiển thị danh sách các từ một cách ngẫu nhiên. Chúng tôi sử dụng thư viện ngẫu nhiên cùng với phương thức after để gọi một hàm hiển thị danh sách văn bản đã cho một cách ngẫu nhiên.

Ví dụ

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()

Chạy đoạn mã trên cho chúng ta kết quả sau:

sau phương thức trong Python Tkinter

Khi chạy lại cùng một chương trình, chúng tôi nhận được kết quả hiển thị chuỗi các từ khác nhau.

sau phương thức trong Python Tkinter

Đang dừng xử lý

Trong ví dụ tiếp theo, chúng ta sẽ thấy cách chúng ta có thể sử dụng phương thức after như một cơ chế trì hoãn để đợi một quá trình chạy trong một khoảng thời gian nhất định và sau đó dừng quá trình. Chúng tôi cũng sử dụng phương thức hủy để dừng quá trình xử lý.

Ví dụ

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))

Chạy đoạn mã trên cho chúng ta kết quả sau:

Xử lý
processing Begins...
process destroyed in 3 seconds