1

我刚刚开始为 python 学习 tkinter,我试图让按钮在单击时更改其文本。

这似乎是一个非常简单的问题,但我找不到任何答案。我现在使用的代码不起作用 - 当窗口打开时,它显示“点击!” 作为按钮上方的标签,在我单击按钮之前。

from tkinter import *

root = Tk()

def click():
    label = Label(root, text = 'clicked!')
    label.pack()

button = Button(root, text='click me', command = click())

button.pack()

root.mainloop()
4

2 回答 2

1

要更改现有按钮的文本(或其他选项),您可以调用它的config()方法并将其中包含新值的关键字参数传递给它。请注意,在构造Button唯一传递它的回调函数的名称时——即不要调用它)。

from tkinter import *

root = Tk()

def click():
    button.config(text='clicked!')

button = Button(root, text='click me', command=click)
button.pack()

root.mainloop()
于 2021-11-24T20:31:47.500 回答
0

您正在传递command = click()Button构造函数。这样,Python执行 click,然后将其返回值传递给Button. 要传递函数本身,请删除括号 - command = click

于 2021-11-24T20:28:29.580 回答