我有一个调用这个类的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()
在对你的问题的评论中,你写道你的主程序是:
当我在一个程序中使用它,并使用您的示例代码(在修复缩进之后),它可以正常工作。我看到窗口出现了一秒钟,它消失了,我发送“结束”打印在控制台上。在
不管lambda是调用
^{pr2}$root.quit()
还是root.destroy()
,它都是有效的。在相关问题 更多 >
编程相关推荐