我想编写单击按钮后从列表中提取随机数的程序。我已经写了,但是它不像我想要的那样工作。它在一个数字和另一个数字之间打印。 It's working like that.
这是我的代码:
from tkinter import *
import random
def draw(param):
number = Label(root, height=1, width=20, text=param)
return number.pack()
root = Tk()
frame = Frame(root, width=300, height=450)
frame.pack()
numbers = [x for x in range(1,6)]
buttonDraw = Button(frame, text="Draw",
command=lambda: draw(random.choice(numbers)))
buttonDraw.pack()
root.mainloop()
单击按钮后,是否可以用新的随机数替换以前的第一个数字?
答案 0 :(得分:1)
这是因为您每次按下按钮都会创建新的tkinter.Label
。在tkinter.Label
方法之外创建一个draw
,仅更改draw
方法中的值。
from tkinter import *
import random
def draw(param):
num.set(param)
root = Tk()
frame = Frame(root, width=300, height=450)
frame.pack()
numbers = [x for x in range(1, 6)]
buttonDraw = Button(frame, text="Draw",
command=lambda: draw(random.choice(numbers)))
buttonDraw.pack()
num = StringVar()
Label(root, height=1, width=20, textvariable=num).pack()
root.mainloop()