私は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:そうです。私は私の答えを変えます。 –
OH!イベントオブジェクトも渡されていることはわかりませんでした。どうもありがとう! –