“如何修复”;can';t调用按钮命令";在python中使用tkinter
我第一次尝试在python fo中使用tkinter,但是Button命令创建了一个错误“如何修复”;can';t调用按钮命令";在python中使用tkinter,python,button,tkinter,Python,Button,Tkinter,我第一次尝试在python fo中使用tkinter,但是Button命令创建了一个错误 从tkinter导入* RandomWindow=Tk() Close=RandomWindow.destroy() 随机按钮=按钮(随机窗口,text=“单击洗牌并选择卡片”,命令=关闭) RandomButton.pack() 它应该创建一个带有按钮的窗口,但我刚刚收到错误消息 \u tkinter.TclError:无法调用“按钮”命令:应用程序已被销毁 您已经销毁了分配给RandomWindow.
从tkinter导入*
RandomWindow=Tk()
Close=RandomWindow.destroy()
随机按钮=按钮(随机窗口,text=“单击洗牌并选择卡片”,命令=关闭)
RandomButton.pack()
它应该创建一个带有按钮的窗口,但我刚刚收到错误消息
\u tkinter.TclError:无法调用“按钮”命令:应用程序已被销毁
您已经销毁了分配给RandomWindow.destroy()
到关闭的窗口
以下是您可能的意思:
def Close(): RandomWindow.destroy()
使用它而不是Close=RandomWindow.destroy()
您已经破坏了将RandomWindow.destroy()
分配给Close
的窗口
以下是您可能的意思:
def Close(): RandomWindow.destroy()
使用该选项,而不是Close=RandomWindow.destroy()
Close = RandomWindow.destroy()
实际上,您正在调用窗口的destroy
方法,因此当您点击下一行时:
RandomButton = Button(RandomWindow, ...)
您正在将一个已破坏的窗口传递给按钮,因此出现错误
你想要:
Close = RandomWindow.destroy # no parens, just reference the method
RandomButton = Button(
RandomWindow,
text="Click to shuffle and select cards",
command=Close
)
或者更简单地说:
RandomButton = Button(
RandomWindow,
text="Click to shuffle and select cards",
# no parens, just reference the method
command=RandomWindow.destroy
)
在这里:
实际上,您正在调用窗口的destroy
方法,因此当您点击下一行时:
RandomButton = Button(RandomWindow, ...)
您正在将一个已破坏的窗口传递给按钮,因此出现错误
你想要:
Close = RandomWindow.destroy # no parens, just reference the method
RandomButton = Button(
RandomWindow,
text="Click to shuffle and select cards",
command=Close
)
或者更简单地说:
RandomButton = Button(
RandomWindow,
text="Click to shuffle and select cards",
# no parens, just reference the method
command=RandomWindow.destroy
)
Python函数和方法是对象(只是普通变量),所以关闭函数是无用的。Python函数和方法是对象(只是普通变量),所以关闭函数是无用的。