我尝试了很多次使用不同的逻辑但是我失败了,任何人都可以帮助我:如何使用txt文件中的数据实时更新tkinter窗口?
答案 0 :(得分:2)
你在这里:
import tkinter as tk
import time
class App(tk.Tk):
def __init__(self,*args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
# ... YOUR widgets here ...
self.T = tk.Text(self, height=25, width=80)
self.S = tk.Scrollbar(self)
self.T.config(yscrollcommand=self.S.set)
self.T.pack(side=tk.LEFT, fill=tk.Y)
self.S.config(command=self.T.yview)
self.S.pack(side=tk.RIGHT, fill=tk.Y)
self.updateWidgets()
def updateWidgets(self):
with open('realTimeUpdatingTextWidget_Cg.py') as f:
newText = f.read()
# ... YOUR code for updating the Widgets ...
self.T.delete('1.0', tk.END)
self.T.insert(tk.END, newText)
self.after(1000, self.updateWidgets)
app = App()
app.mainloop()
将上面的代码保存在文件realTimeUpdatingTextWidget_Cg.py
中并运行它以查看在文本编辑器中编辑文件时的更改。
TRICK 使用以下代码结构:
class App(tk.Tk): def __init__(self,*args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) # ... YOUR widgets here ... self.updateWidgets() def updateWidgets(self): with open('fileWithWidgetsParameters.txt') as f: realTimeFileContent = f.read() # ... YOUR code for updating the Widgets ... self.after(1000, self.updateWidgets) app = App() app.mainloop()