如何防止Tkinter等待任何行动

时间:2014-07-25 12:34:07

标签: python python-2.7 tkinter

我对Tkinter模块有一些要求。 Down是导致我问题的示例代码

    import Tkinter
    from Tkconstants import *
    tk = Tkinter.Tk()
    frame = Tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
    frame.pack(fill=BOTH,expand=1)
    label = Tkinter.Label(frame, text="Hello, user- have a look at your data")
    label.pack(fill=X, expand=1)
    tk.mainloop()

这是程序中的一小部分,我要检查一些数据,然后按小时创建excelsheet结果。出于信息目的,我使用Tkinter(新的kinter)显示这些数据。显示数据后,程序必须休眠一小时,然后从头开始恢复(开始收集信息,写入相同的excelsheet并显示到屏幕)。 现在的问题是,在创建一个小部件后,解释器会在那里等待进一步的输入。无论如何这是默认行为,但我不希望它发生。 有什么方法可以从Tkinter主循环和放大器释放执行。继续执行。 或者,如果您可以建议创建任何其他类型的窗口以避免这种等待。

非常感谢。 Kriss332

1 个答案:

答案 0 :(得分:0)

你需要tkinter来等待输入"因为这是程序响应事件的方式,例如重绘,退出,调整大小等请求。

如果您想等待一个小时然后刷新显示,则可以执行此操作。

将代码分成两部分:一部分用于创建主窗口,另一部分用电子表格中的信息填充窗口。然后使用(echo start; inotifywait -mr -e close_write,moved_to,modify "/mnt/foo/temp") | while read line; do ./manage_all.sh; done 运行"刷新"在一小时内再次运作。