擅长:python、mysql、java
<p>您可以在同一个按钮中组合<code>start</code>和<code>reset</code>,但也可以添加一个调用相同函数的重置按钮(注释代码)。
也就是说,启动时,系统将重置为其初始状态,此处<code>callback</code>值设置为<code>None</code></p>
<p>大多数时候,使用<code>tkinter.mainloop</code>比使用自定义<code>while</code>循环更好。在GUI中使用<code>time.sleep</code>通常会导致灾难,因为它会在执行过程中阻止所有交互</p>
<p>我用一个<code>text label</code>替换了这些图像。为了简单起见,您必须更改它</p>
<pre><code>import tkinter as tk
import random
def anmu_viewer():
global cb
random_pic = random.choice(images)
lbl.config(text=random_pic)
cb = root.after(10000, anmu_viewer) # keep a reference of the callback
def reset():
global cb
if cb is not None:
root.after_cancel(cb) # cancel the callback
cb = None # reset the reference to the callback to None
anmu_viewer()
images = ['im1', 'im2', 'im3', 'im4', 'im5', 'im6']
root = tk.Tk()
cb = None
lbl = tk.Label(root, text='')
lbl.pack()
start_btn = tk.Button(root, text="Start", command=reset)
start_btn.pack()
# reset_btn = tk.Button(root, text="Reset", command=reset)
# reset_btn.pack()
root.mainloop()
</code></pre>