Tkinter按钮在初始化时传递功能,而不是单击

Tkinter按钮在初始化时传递功能,而不是单击,tkinter,Tkinter,对不起,如果这是一个奇怪的问题,我通常不会问他们。 大学毕业时,我在做一个消磨时间的项目,我想做一个基本的角色扮演游戏会很有趣。在我为全世界做任何事情之前,我决定先研究战斗系统。直到昨天,我在让tkinter正确运行方面还没有遇到任何问题,然后,当我重新组织我编写的代码时,我的按钮开始在我声明它们时启动它们的命令,并在单击它们时停止这样做。我上网寻找问题的答案。当它们都不起作用时,我拼凑了一个我正在使用的系统的基本版本,来到这里 try: from tkinter import * ex

对不起,如果这是一个奇怪的问题,我通常不会问他们。 大学毕业时,我在做一个消磨时间的项目,我想做一个基本的角色扮演游戏会很有趣。在我为全世界做任何事情之前,我决定先研究战斗系统。直到昨天,我在让tkinter正确运行方面还没有遇到任何问题,然后,当我重新组织我编写的代码时,我的按钮开始在我声明它们时启动它们的命令,并在单击它们时停止这样做。我上网寻找问题的答案。当它们都不起作用时,我拼凑了一个我正在使用的系统的基本版本,来到这里

try:
    from tkinter import *
except:
    from Tkinter import *

master = Tk()

def callback():
    print("click!")

Button_Fight = Button(master, text="  Fight  ", command=callback(), height=4, width=24, font='Arial', state = DISABLED)

Button_Run = Button(master, text="   Run   ", command=callback(), height=4, width=24, font='Arial', state = DISABLED)



Button_Fight["state"] = NORMAL
Button_Fight.grid(column=1, row=1)

Button_Run["state"] = NORMAL
Button_Run.grid(column=2, row=2)

master.mainloop()

任何帮助都将不胜感激。

我认为您的问题是,当您在tkinter对象中调用函数时,您没有插入括号。例如,替换这行代码:

command=callback(),
这一行:

command=callback,

这将使其在单击时而不是在运行程序时调用函数。

请不要编辑问题的标题以表示您的问题已得到回答。单击复选图标,将解决您问题的答案标记为“已接受”。对不起,我不知道这一点。