トップレベルを破壊できません (Tkinter、python)
私のプログラムでは
1)最初にユーザーがボタンを押すと、トップレベルが表示されます
2)トップレベル内には、さらにいくつかのウィジェットともう1つのボタンがあります
3)ユーザーがこの(2番目の)ボタンを押すと、関数(name_of_toplevel.destroy())が機能し始めます
4)しかし、その後、ターミナルは私に「NameError:グローバル名 'name_of_toplevel'が定義されていません」と書いています
5)しかし、それは本当に定義されています!
6) ボタンはメソッド "bind" で関数にバインドされます
プログラムのテキスト:
from Tkinter import *
def Begin(event):
okno.destroy()
def QuitAll(event):
exit(0)
def OpenOkno(event):
#print "<ButtonRelease-1> really works! Horray!"
okno = Toplevel()
okno.title('Question')
okno.geometry('700x300')
Sign = Label(okno,text = 'Quit the program?', font = 'Arial 17')
Sign.grid(row = 2, column = 3)
OK = Button(okno, text = 'YES', bg = 'yellow', fg = 'blue', font = 'Arial 17')
OK.grid(row = 4, column = 2)
OK.bind("<ButtonRelease-1>",QuitAll)
NO = Button(okno, text = 'NO', bg = 'yellow', fg = 'blue', font = 'Arial 17')
NO.grid(row = 4, column = 4)
NO.bind("<ButtonRelease-1>",Begin)
root = Tk() # main window 'program_on_Python'
root.title('Program_on_Python')
root.geometry('400x600')
knpk = Button(root, text = 'click here!', width = 30, height = 5, bg = 'yellow', fg = 'blue', font = 'Arial 17')
knpk.grid(row = 2, column = 2)
knpk.bind("<ButtonRelease-1>",OpenOkno)
root.mainloop()
できれば、私を助けてください