我什么时候需要在tkinter mainloop应用程序中调鼡mainloop
每个tkinter mainloop教程我都看到了tkinter mainloop.mainloop
必须要求绘制窗口和要处理的事件的声明,并且它们总是调用此函数即使在hello
world程序中也是如此。但是当我在交互式shell中尝试这些时,无需调用mainloop即可正确绘制窗口 在tkinter mainloop中嵌入matplotlib图形的产生了一个相对复杂的应用程序,带有用于在tkinter mainloop窗口内平移缩放和调整繪图大小的按钮,再次如果你删除对mainloop的调用并在交互式shell中运行代码,这一切都有效
。当然如果我在交互式shell之外运行脚本(删除了mainloop),程序结束得太快就看不到会发生什么但如果我添加一个调用input
保持程序打开一切正常(我在Linux上运行python 3.2.2)。
那么mainloop到底做了什么什么时候需偠调用呢?
编辑:澄清一下如果我打开GNOME终端并输入
一个窗口立即出现,而不必调用mainloop更复杂的tkinter mainloop功能似乎也可以工作(例如,向窗口添加按钮)在IDLE中,需要调用mainloop我的理解是,在调用mainloop之前不应绘制任何内容,也不应处理任何事件