无法让代码适用于 tkinter 中的此随机数生成器



每次单击按钮时,它都会放入新数字,但不会去掉旧数字。

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>,但它不是全局变量,因此会给您带来问题。

最新更新