refreshButton = Button(frameList, text ="Refresh",command = print("pressed"))
refreshButton.place(x=50, y=50)
为什么我每次按下按钮时都不会打印出"按"打印出来?
只有一次?没有错误消息。问题是打印("按")不执行。
使用 lambda
:
refreshButton = Button(frameList,
text ="Refresh",
command = lambda: print("pressed")
)
一个按钮命令不能提供任何参数,除非您使用lambda
或其他功能。相反
def Refresh(*args):
print("pressed")
# do stuff
refreshButton = Button(frameList, text ="Refresh",command = Refresh)
refreshButton.place(x=50, y=50)
如果您要做的就是print("pressed")
,那么这是替代解决方案。lambda
将捕获按钮给出的任何参数,让您使用自己的参数调用函数:)
refreshButton = Button(frameList, text ="Refresh",command= lambda *args: print("pressed"))