我正在处理一个类中的函数,我遇到的一个问题是添加一个终止程序的按钮。这是当前的代码:
class ClassName():
def __init__(self, root):
self.root = root
def close_root(self, root):
root.destroy()
root.quit()
def addExitButton(self, root):
Button(root, text = 'Exit', width = 10, command = self.close_root).grid(row = 5,
column = 0)
在按钮参数中,我尝试了command = self.close_root(root)
但是这给了我一个错误,因为如果你想让按钮做某事就无法调用函数(我忘记了为什么这是)。我也试过
def close_root(self):
self.destroy()
self.quit()
def addExitButton(self, root):
Button(..., command = self.close_root,...)
这不起作用,因为班级没有属性destroy.
我不确定在尝试几种不同的方法后如何处理这个问题。
答案 0 :(得分:0)
您需要实际访问root
的功能。因此,使用self.root.destory()
或self.root.quit()
将起作用,因为您的根对象具有这些方法,但您的类没有。
你也应该只使用其中一个,在这种情况下,destroy
是我认为最好的选择。你可以在创建按钮时使用它。所以用self.root.destory
替换按钮回调(命令)。