0
我想學習tkinter和我已經要求它在全屏的想法。在全屏顯示之前,我想確保我可以使用轉義關閉窗口。所以通過類似於Stack Overflow的其他問題,我一直試圖讓它在我逃跑時破壞tkinter窗口。對我來說,這似乎像它應該工作,但我得到一個異常時,我打逃脫Tkinter越獄綁定不破壞
`Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Jake\AppData\Local\Programs\Python\Python36-
32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
TypeError: destroy() takes 1 positional argument but 2 were given`
這是混淆了我,因爲我不認爲我呼籲所有任何參數更不用說2.我有做添加了一個退出按鈕,該按鈕調用了我所做的close
方法,該方法可行,但使用轉義似乎沒有。爲了清晰起見,我提供了我的代碼。我知道這很類似於這裏的很多問題,但我已經嘗試了一切,似乎沒有任何東西可以爲我工作。提前致謝!
import tkinter
from tkinter import *
class Window(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
master.bind('<Escape>', master.destroy)
self.init_window()
def init_window(self):
self.pack(fill=BOTH, expand=1)
quitButton = Button(self, text="quit", command=self.close)
quitButton.place(x=0, y=0)
def close(self):
self.master.destroy()
def main():
root = Tk()
root.geometry('500x500')
app = Window(root)
root.mainloop()
main()
OP已經有一個'close'方法;你爲什麼不使用它? – Novel
@Jonathan:你說得對。我會改變我的答案。 –
哦!我沒有意識到事件對象也被傳遞了!非常感謝! –