2015-11-02 59 views
0

我被要求使用Tkinter製作一個聊天程序。對於最後一部分,我應該打開聊天窗口,其中有一個輸入字段,一個按鈕(發送)和一個文本小工具來顯示聊天記錄。這是我第一週學習Tkinter,並且我在課堂上被告知,只要用戶沒有關閉窗口或寫入root.quit()mainloop()就是一個無限循環。所以在聊天窗口中,我應該每隔10秒檢查一次新郵件。是否有可能在mainloop()中做到這一點?如果是,請讓我知道如何,因爲我不知道如何發生這種情況,因爲mainloop()之前的內容只能讀取一次。例如,即使mainloop()是一個無限循環,也只能打印一次類似打印語句的內容。如何'重新運行'Tkinter的主循環

+0

請添加你現有的代碼,即使它沒有做你期望的事,以便其他人可以參考它。 – somesoaccount

回答

1

您可以調用根窗口的after方法來調用將來的某些東西。如果該函數本身調用after,則可以將其設置爲使函數永遠每10秒運行一次。

def check_for_messages(): 

    <your code here> 

    root.after(10000, check_for_messages) 

調用,調用mainloop()之前函數一次,它會每10秒只要mainloop()運行。