Python 2.7 我能';Python 2.7中的tkMessageBox.askokcancel似乎无法开始工作

Python 2.7 我能';Python 2.7中的tkMessageBox.askokcancel似乎无法开始工作,python-2.7,tkinter,tkmessagebox,Python 2.7,Tkinter,Tkmessagebox,我已经编写了以下代码 closeButton = Button(self, text="Close",command=self.askyesno) closeButton.pack(side=RIGHT, padx=5, pady=5) okButton = Button(self, text="OK") okButton.pack(side=RIGHT) def askyesno(): res = tkMessageBox.askokcancel(ti

我已经编写了以下代码

    closeButton = Button(self, text="Close",command=self.askyesno)
    closeButton.pack(side=RIGHT, padx=5, pady=5)
    okButton = Button(self, text="OK")
    okButton.pack(side=RIGHT)

def askyesno():
    res = tkMessageBox.askokcancel(title="Quit", message="Do you want to quit?")
    if res == "yes":
    self.quit()
每当我按下关闭按钮时,python就会崩溃 带着信息 类型错误:askyesno()不接受参数,给定1。
互联网上有很多像我这样的例子。我相信他们会成功的。我做错了什么。我发现的所有示例都有这个问题,tkMessageBox的文档没有提供任何示例。

这不是tkMessageBox,而是您的函数。您应该这样定义它:

#def askyesno():    # Not like this
def askyesno(self):

假设它是一个班级的成员。

谢谢,你说得对。我还注意到我不应该使用tkMessageBox。当我从tkMessageBox导入运行时*