【发布时间】:2019-05-28 02:48:24
【问题描述】:
所以我正在制作一个随机名称生成器。一切都在我的 GUI 中完成了。问题是我只能按一次生成按钮来获取所有需要的值。如何无限次按下按钮,每次按下按钮时获得不同的值。
我需要制作某种循环吗?我在里面放了一个lambda。这会阻止值在您打开 GUI 后立即显示在我的屏幕上。这样您就可以按下按钮,文本就会正常显示。
firstnameli = ['Chris ', 'Kevin ', 'Jeff ', 'Marty ', 'Dolen ']
lastnameli = ['Smith', 'Miller', 'Jones', 'Davis', 'Brown']
full_name = random.choice(firstnameli) + random.choice(lastnameli)
#this allows text to be put in the text box
estr = StringVar()
estr.set(full_name)
fullnameentry = Entry(MyWin, borderwidth=5, font=("Helvetica", 15))
def buttonfunc():
fullnameentry.config(text=estr)
genbutton = Button(MyWin, text="GENERATE", activebackground="blue", command= lambda: buttonfunc())
【问题讨论】:
-
@Jayjayyy 感谢您让我知道。我还有一个问题。无论如何您可以解释如何使用 .tk 将文本放入输入框中?我导入 tkinter 的方式是 from tkinter import * 。这有什么关系吗? (请见谅。我不知道如何使用代码标签。)
-
@Jayjayyy 我用过
from tkinter import *那么我如何导入 tkinter 重要吗?我知道*意味着一切。所以从tkinter包中导入evrything不仅有意义吗? -
@Jayjayyy 好的,感谢您的帮助。
标签: python button tkinter command