使用 Tkinter 按下按钮后更新标签 [重复]

Posted

技术标签:

【中文标题】使用 Tkinter 按下按钮后更新标签 [重复]【英文标题】:Updating Label After Button Press with Tkinter [duplicate] 【发布时间】:2020-10-21 06:51:59 【问题描述】:

我对 Python 很陌生。作为学习 Tkinter 以应用于其他项目的一种方式,我想创建一些东西,在按下按钮后将标签更新为条目中的内容。

from tkinter import *

top = Tk()
response = StringVar()
response.set("text")

var = StringVar()
var.set("Input")

def updateLabel():
    response.set(ent.get())

ent = Entry(top, textvariable = var)
lab = Label(top, textvariable = response)
but = Button(top, text = "Enter", command = updateLabel())

lab.pack(side = LEFT)
ent.pack(side = LEFT)
but.pack(side = RIGHT)
top.mainloop()

似乎该功能在我没有按下按钮的情况下运行,因为在运行它时,标签已经像条目一样显示“输入”。

任何帮助将不胜感激。我敢肯定这是一个愚蠢的错误。

谢谢!

【问题讨论】:

【参考方案1】:

这是因为您通过在 command= 选项中包含括号来调用 updateLabel(),请尝试以下操作:

but = Button(top, text="Enter", command=updateLabel)

command= 选项需要一个可调用的(也就是前括号)

【讨论】:

当然可以,如果这解决了您的问题,请将答案标记为已接受,以便其他人可以更快地找到解决方案:)

以上是关于使用 Tkinter 按下按钮后更新标签 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

单击后更新按钮的位置? (Tkinter Python GUI)

使用 Tkinter 和 Selenium 进行多处理

有没有办法修复 while 循环不使用 time.sleep 更新 tkinter 标签?

在 Tkinter 中按下按钮后如何清除 Entry 小部件?

需要 Tkinter 帮助:尝试在按下按钮时将文本输入到条目中以在控制台中打印。我无法打印[重复]

按下按钮后可以更改菜单栏文本吗? (Python,tkinter)