每次单击按钮时,它都会放入新数字,但不会去掉旧数字。
import tkinter as tk
import random
root = tk.Tk()
root.title("random number generator")
def new_number():
destroy()
text = tk.Label(root, text=(random.randint(0,100)))
text.pack(padx=0, pady=1)
def destroy():
text.destroy()
text = tk.Label(root, text=(random.randint(0,100)))
text.pack(padx=0, pady=1)
button = tk.Button(root, text='new number', width=25, command=new_number)
button.pack(padx=1, pady=1)
root.mainloop()
试试这个:
import tkinter as tk
import random
root = tk.Tk()
root.title("random number generator")
def new_number():
text.config(text=random.randint(0, 100))
text = tk.Label(root, text=random.randint(0, 100))
text.pack(padx=0, pady=1)
button = tk.Button(root, text="New number", width=25, command=new_number)
button.pack(padx=1, pady=1)
root.mainloop()
它使用<tkinter.Label>.config(text=<new text>)
来更改标签内的文本。感谢您的代码,它运行得更快。此外,在new_number
函数中,text
被设置为新的<tkinter.Label>
,但它不是全局变量,因此会给您带来问题。