简单的 tkinter 问题 - 按钮命令(点击时显示其他文本)

simple tkinter question - button command (display other text on click)

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

这似乎是一个非常简单的问题,但我找不到任何答案。我目前使用的代码不起作用 - 当 window 打开时,在我单击按钮之前,它会立即在按钮上方显示 'clicked!' 作为标签。

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

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

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

from tkinter import *

root = Tk()

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

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

root.mainloop()