大型机内的连续变量更新

大家好,
基本上,我已经创建了一个在循环中持续写入全局变量的线程。然后我有了大型机,它应该读取和显示该变量。
问题是,一旦大型机运行,它只显示在启动时读取的变量的值,而不会不断地自我更新。如何让大型机以指定的时间间隔更新其变量值?
有问题的变量称为"data":
谢谢你的帮助!

选择 | 换行 | 行号
  1. #!/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. from tkinter import *
  5. import time
  6. import urllib.request
  7. from bs4 import BeautifulSoup
  8. import threading
  9. from queue import Queue
  10.  
  11. data = None
  12.  
  13. class httpReq(threading.Thread):
  14.     def run(self):
  15.  
  16.         global data
  17.  
  18.         while True:
  19.             url = "https://twitter.com/realDonaldTrump"
  20.             page = urllib.request.urlopen(url)
  21.             soup = BeautifulSoup(page, "html.parser")
  22.             data = soup.title.text
  23.             print(data)
  24.  
  25. x = httpReq()
  26. x.start()
  27.  
  28. class Example(Frame):
  29.  
  30.         global data
  31.  
  32.         def __init__(self, parent):
  33.             Frame.__init__(self, parent)
  34.             self.parent = parent
  35.             self.initUI()
  36.  
  37.         def initUI(self):
  38.             self.parent.title("Example App")
  39.             self.pack(fill=BOTH, expand=True)
  40.  
  41.             frame1 = Frame(self)
  42.             frame1.pack(fill=X)
  43.  
  44.             lbl1 = Label(frame1, text="DATA", width= 20)
  45.             lbl1.pack(side=LEFT, padx=5, pady=5)
  46.  
  47.             lbl2 = Label(frame1, text= data)
  48.             lbl2.pack(fill=X, padx=5, expand=True)
  49.  
  50. def main():
  51.     root = Tk()
  52.     root.geometry("1920x1080")
  53.     app = Example(root)
  54.     root.mainloop()
  55.  
  56. if __name__ == '__main__':
  57.     main()
  58.  

标签: python

添加新评论