tkinterフレームから関数を呼び出す方法がわかりません。私は意図せずに閉じた場合に備えて、アプリケーションから情報を保護する方法を実装しようとしています。誰かが助けてくれますか?Tkinterフレームから関数を呼び出せません
from tkinter import Tk, Frame, Label
class MyApp(Tk):
def __init__(self, *args, **kwargs):
Tk.__init__(self, *args, **kwargs)
container = Frame(self)
container.pack(side="top", fill="both", expand = True)
frame = StartPage(container, self)
frame.grid(row=0, column=0, sticky='nsew')
frame.tkraise()
class StartPage(Frame):
def __init__(self, parent, controller):
Frame.__init__(self,parent)
Label(self, text="close this window from the X in the corner").grid(row=1,column=1)
def Stop(self):
print('exiting')
app = MyApp()
if __name__=='__main__':
try:
app.mainloop()
finally:
OpenApp = MyApp()
OpenClass = StartPage(parent, OpenApp)
OpenClass.Stop()
tkinterを閉じるときに「停止」機能を呼び出すことはできません。私はNameErrorを取得します:name 'parent'は定義されていません。 「親」の代わりに何を置くべきですか? root.protocol( "WM_DELETE_WINDOW"、root.iconify) を使用する場合は、クラス内の関数を呼び出す必要があります。
エラーを生成するコードを表示し、実際の完全なエラーを表示します。今、あなたのコードの中に 'Stop'と呼ばれるものはありません。 –
"停止"は、その枠内の "X"を押してtkinterフレームを閉じると開始されます。私は意図的に閉じているときにアプリケーションを保護するメソッドを実装しようとしています。 – qode
あなたが試したことを示してください。 –