擅长:python、mysql、java
<p>不能使用<code>sleep</code>,因为它停止了<code>mainloop</code></p>
<p>您可以使用<code>root.after(time_in_milliseconds, function_name)</code>来运行函数</p>
<p>示例</p>
<pre><code>import tkinter as tk
def button_pressed():
# put text
label['text'] = "Hello World!"
# run clear_label after 2000ms (2s)
root.after(2000, clear_label)
def clear_label():
# remove text
label['text'] = ""
root = tk.Tk()
label = tk.Label(root) # empty label for text
label.pack()
button = tk.Button(root, text="Press Button", command=button_pressed)
button.pack()
root.mainloop()
</code></pre>
<p>如果必须创建和删除标签,请使用<code>label.destroy()</code></p>
^{pr2}$
<p>以及没有<code>destroy_widget</code>的较短版本</p>
<pre><code>import tkinter as tk
def button_pressed():
label = tk.Label(root, text="Hello World!")
label.pack()
root.after(2000, label.destroy)
root = tk.Tk()
button = tk.Button(root, text="Press Button", command=button_pressed)
button.pack()
root.mainloop()
</code></pre>
<p>多次按下按钮可看到许多标签,这些标签在2秒后消失</p>