繁体   English   中英

在Tkinter中打印随机数(python3)

[英]Printing random numbers in tkinter (python3)

我想编写单击按钮后从列表中提取随机数的程序。 我已经写了,但是它不像我想要的那样工作。 它在一个数字和另一个数字之间打印。 这样工作。

这是我的代码:

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()

单击按钮后,是否可以用新的随机数替换以前的第一个数?

这是因为您每次按下按钮都会创建新的tkinter.Label draw方法之外创建一个tkinter.Label ,仅更改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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM