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:
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.
Đ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