2016-06-07 77 views
-1

我寫了下面的代碼我似乎無法在Python 2.7獲得tkMessageBox.askokcancel去上班

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() 

每當我按下關閉按鈕,蟒蛇崩潰 與消息 類錯誤: askyesno()不接受任何參數,給定1。 互聯網上有很多像我的例子。我確定他們工作。我究竟做錯了什麼。我發現的所有例子都有這個問題,tkMessageBox的文檔沒有提供任何示例。

回答

1

這不是tkMessageBox,它是你的函數。你應該這樣定義它:

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

假設它是一個類的成員。

+0

謝謝你,你說得對。我也注意到我不應該使用tkMessageBox。 因爲我從tkMessageBox導入* –