import Tkinter as Tk
root = Tk.Tk()
def generate():
root.quit()
label1 = Tk.Label(root, text="Map Width:")
label2 = Tk.Label(root, text="Map Height:")
label3 = Tk.Label(root, text="Lake Size:")
e1 = Tk.Entry(root)
e2 = Tk.Entry(root)
e3 = Tk.Entry(root)
button1 = Tk.Button(root, text="Generate", command=generate)
label1.grid(row=0, column=0)
label2.grid(row=1, column=0)
label3.grid(row=2, column=0)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
e3.grid(row=2, column=1)
button1.grid(row=3, column=1)
root.mainloop()
这是一个较大项目的片段,为了简单起见,删除了generate()
的剩余功能。使用上面的代码,成功创建了一个窗口,其中包含三个标签,三个相应的输入字段和一个按钮。生成按钮用于调用函数generate()
,而函数root.quit()
依次根据其他代码创建地图对象,然后调用It seems the kernel died unexpectedly. Use 'Restart kernel' to continue using this console.
。
然而,当按下按钮时,窗口停止响应并且python内核重复打印消息:
$("#playlist li").on("click", function(){
$("#videoarea").attr({
"src": $(this).data("movieurl"),
"autoplay": true,
"type": "video/mp4"
});
});
我确定这是一个小错误,但如果有人能告诉我哪里出错了,我会非常感激。
答案 0 :(得分:0)
使用root.destroy()
代替root.quit()
root.quit()
根据我的理解,当你想要运行主循环后有其他代码时,可以更好地使用它。
"""Quit the Tcl interpreter. All widgets will be destroyed."""
root.destroy()
会破坏主循环中的所有内容。并且应该用于退出程序。
这是tkinter库中方法的引用。
"""Destroy this and all descendants widgets. This will
end the application of this Tcl interpreter."""