关闭窗口并自动返回控制流量

2024-09-30 03:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个调用这个类的drawWorld()函数的外部脚本。 我希望绘图显示1-2秒,然后关闭,控件返回主脚本。 我可以设法让窗户随线消失

root.after(1000, lambda: root.destroy())

但我无法将流返回到主脚本。 我试过了

^{pr2}$

但它不起作用。在

这是我的Tkinter类代码:

from Tkinter import Tk, Canvas, Frame, BOTH

class World(Frame):

def __init__(self, parent):
    Frame.__init__(self, parent)   
    self.parent = parent              
    self.parent.title("CliffWorld")        
    self.pack(fill=BOTH, expand=1)

    canvas = Canvas(self)        

    canvas.create_rectangle(4, 4, 31, 31, 
        outline="#f11", fill="#1f1", width=1)
    canvas.pack(fill=BOTH, expand=1)


def drawWorld():
    root = Tk()
    ex = World(root)
    root.geometry("330x220+300+300")
    root.after(1000, lambda: root.destroy())
    root.after(1000, lambda: root.quit())
    root.mainloop() 

Tags: lambdaself脚本tkinterrootfillframetk
1条回答
网友
1楼 · 发布于 2024-09-30 03:25:53

在对你的问题的评论中,你写道你的主程序是:

import tkWorld
tkWorld.drawWorld()
print "end"

当我在一个程序中使用它,并使用您的示例代码(在修复缩进之后),它可以正常工作。我看到窗口出现了一秒钟,它消失了,我发送“结束”打印在控制台上。在

不管lambda是调用root.quit()还是root.destroy(),它都是有效的。在

^{pr2}$

相关问题 更多 >

    热门问题