1
我試圖檢查一個特定的Toplevel是否已經被銷燬,這發生在某個按鈕被按下之後,以便我可以在程序中做其他事情(即創建一個新的Toplevel)。如何檢查在tkinter中銷燬它之後是否存在頂層?
假設在用戶關閉初始頂層之後,shell的輸出應該是「N」。這將表明程序理解最初的頂層不再存在,使我能夠進入該特定if not t1.winfo_exists():
條款的下一階段(見下文)。
此輸出不會發生。輸出沒有任何反應。我用'winfo_exists()',我找不到我所做的不正確。
from tkinter import *
root = Tk()
t1 = Toplevel(root)
t1.title('REG')
def GetREG():
global e, reg
reg = e.get() # find out the user input
# Destroy the toplevel:
t1.destroy() # after the user presses the SubmitButton
label = Label(t1, text="Enter your REG:")
label.pack()
e = Entry(t1) # for the user to input their REG
e.pack()
SubmitButton = Button(t1,text='Submit',command=GetREG) # button to submit entry
SubmitButton.pack(side='bottom')
if not t1.winfo_exists(): # TRYING TO CHECK when the does not exist
# supposedly, this should occur after the SubmitButton is pressed
# which shold allow me to then carry out the next step in the program
print("No")
root.mainloop()
難道是當用戶銷燬一個窗口,這不被認爲是不存在的狀態?當我使用十字架刪除t1頂層時,或者通過SubmitButton(在GetREG()
)刪除時,它不起作用。
有什麼建議嗎?