如何循环在窗口中显示值的函数?
因此,我具有telethon的此功能,可以从电报中获取所有新消息:
def get_message():
for message in client.iter_messages('@snoopdoggystyledogg', limit=10):
msg_history = utils.get_display_name(message.sender), message.message
return msg_history
我要显示它:
messages = Text(root)
messages.insert(INSERT, '')
messages.insert(INSERT, get_message())
messages.pack()
但是问题是,如果我不重新打开应用程序,消息将不会得到更新。是否知道如何使其循环并在我的聊天屏幕上进行更新?
答案 0 :(得分:0)
我会使用after()
继续循环。
一个简单的示例如下:
from tkinter import *
# other imports for your client message reader
root = Tk()
def get_message():
for message in client.iter_messages('@snoopdoggystyledogg', limit=10):
msg_history = utils.get_display_name(message.sender), message.message
messages.insert(INSERT, msg_history)
root.after(5000, get_message)
messages = Text(root)
messages.pack()
messages.insert(INSERT, '')
get_message()
root.mainloop()
我认为您可能需要解决的问题是跟踪最后一条或多条消息,以免重新加载旧的消息。