简单的 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()
我刚刚开始学习 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()