python中的after()用法
时间: 2023-05-28 07:04:24 浏览: 320
python中完善decorator共5页.pdf.zip
在Tkinter中,after()方法可以让我们在一段时间后执行一个函数或方法。其语法如下:
```python
after(delay, callback=None, *args)
```
其中,delay表示延迟的时间(以毫秒为单位),callback是要执行的函数或方法,*args是传递给回调函数的参数。
例如,以下代码将在1秒后弹出一个消息框:
```python
import tkinter as tk
import tkinter.messagebox as msgbox
root = tk.Tk()
root.withdraw() # 隐藏Tk窗口
root.after(1000, msgbox.showinfo, '提示', '1秒后弹出消息框!')
root.mainloop()
```
在上面的代码中,我们使用了Tkinter自带的消息框模块tkinter.messagebox来弹出消息框,showinfo()方法用于显示信息。after()方法的第一个参数是1000,表示延迟1秒执行回调函数,第二个参数是msgbox.showinfo,表示要执行的函数是showinfo()方法,第三个参数是'提示'和'1秒后弹出消息框!',表示传递给回调函数的参数。
注意,在使用after()方法时,必须保证Tkinter的事件循环在运行状态,否则回调函数将无法执行。在上面的代码中,我们在创建Tk对象后立即调用了withdraw()方法,将Tk窗口隐藏,然后再调用after()方法。最后,调用mainloop()方法进入事件循环,使回调函数得以执行。
阅读全文