我正在尝试创建一个基本的Tkinter窗口 根据在线教程,要创建一个窗口,必须使用以下内容:
import Tkinter
window=Tkinter.Tk()
window.mainloop()
但是当我尝试相同的代码时,python直接显示window=Tkinter.Tk()
中的窗口而window.mainloop()
没有效果。
有谁能解释为什么?
编辑:当我把它放在一个文件中并运行它时,代码完美无缺。它只是在交互式提示下无效。
答案 0 :(得分:1)
对mainloop
的调用就在那里,以便您可以在创建窗口后与其进行交互。如果您有一个只执行此操作的Python脚本:
import Tkinter
window = Tkinter.Tk()
脚本会在创建window
后立即退出,所以你很幸运地看到它在脚本退出之前就消失了。 (即如果甚至根本绘制了window
;在Linux和Windows上的测试中,除非window
被调用,否则mainloop
从未被绘制;即使我调用了{{} 1}}在time.sleep
调用之后,Tkinter.Tk()
只会在交互式提示中没有window
调用的情况下绘制。
mainloop
也(最重要的是)允许mainloop()
侦听Tkinter
对象上发生的事件,例如按下可能嵌入的按钮,无线电等它,并将这些事件分派给绑定到被触发事件的方法。如果没有这种功能,你只需要一个可以看到的窗口,而不是其他。