我创建了一个简单的命令行游戏,并考虑将其移植到GUI。通过这种方式,我可以通过点击按钮为玩家提供选择,而不是强制输入文字。
我的问题是,如果没有能够更改Label和Button小部件上的文本,那将会很棘手,那么如何正确地执行此操作呢?
这是我到目前为止(在laurencevs回答之后):
def goAway(event):
label02.configure(text = " ")
label01.configure(text = "Go away")
time.sleep(1)
label01.configure(text = "GO AWAY.")
time.sleep(1)
label01.configure(text = "Seriously, go AWAY!")
time.sleep(1)
label01.configure(text = "That's it.")
time.sleep(0.5)
quit("GOODBYE.")
button01 = Button(root, text="Click me, see what happens.")
button01.grid(row=1001, column=1001)
button01.bind("<Button-1>", goAway)
但它只是等待3秒然后关闭程序。我该如何解决这个问题?
这个想法是,当点击该按钮时,将标签label01
中的文本更改为“离开”,等待一秒钟,将文本更改为“GO AWAY。”等,然后退出,打印“GOODBYE”是指在终端中运行它的用户。
答案 0 :(得分:2)
您绝对可以更改标签或按钮上的文字。
您所要做的就是使用Label.configure()
方法。假设您要将label1
中的文字更改为&#34;不要恐慌&#34;,您只需执行以下操作:
label1.configure(text = "Don't Panic")
按钮和其他小部件也是如此。
如果要创建在单击时执行此操作的Button,则必须定义一个更改标签文本的函数,然后使用函数的名称(例如{{1} })在创建Button时如下:
foo
完整的代码如下所示:
button = Button(window, text = "I am a button", command = foo)