我想破坏顶层窗口4秒后,但不睡觉的整个程序。当按钮被点击时,我运行def输入并创建一个顶部窗口。4秒后,该窗口将被销毁。我不能使用'after',因为它会阻止按钮部件再次运行。
# destroy window
def destroy(widget):
sleep(4)
widget.destroy()
print 'destroy'
# top window
def entered():
try:
if tw1.winfo_exists():
tw1.destroy()
except:
tw1 = Toplevel(broButton3)
tw1.wm_overrideredirect(1)
x = broButton3.winfo_rootx() + 0
y = broButton3.winfo_rooty() - 25
tw1.wm_geometry("+%d+%d" % (x,y))
label = Label(tw1, text='Confirmed!', justify=LEFT, background="#34eb5b", relief=SOLID, borderwidth=1, font=("tahoma", "9", "normal"))
label.pack(ipadx=1)
Thread(target=(destroy(tw1))).start()
我也试过: 线程(目标=(λ:摧毁(tw1))) .start () 我得到输出'Destory'在打印,但窗口留在顶部。 问题来源StackOverflow 地址:/questions/59387000/python-tkinter-destroy-window-after-sleep-in-another-thread
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。