大型机内的连续变量更新
大家好,
基本上,我已经创建了一个在循环中持续写入全局变量的线程。然后我有了大型机,它应该读取和显示该变量。
问题是,一旦大型机运行,它只显示在启动时读取的变量的值,而不会不断地自我更新。如何让大型机以指定的时间间隔更新其变量值?
有问题的变量称为"data":
谢谢你的帮助!
选择 | 换行 | 行号
- #!/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
- # -*- coding: utf-8 -*-
- from tkinter import *
- import time
- import urllib.request
- from bs4 import BeautifulSoup
- import threading
- from queue import Queue
- data = None
- class httpReq(threading.Thread):
- def run(self):
- global data
- while True:
- url = "https://twitter.com/realDonaldTrump"
- page = urllib.request.urlopen(url)
- soup = BeautifulSoup(page, "html.parser")
- data = soup.title.text
- print(data)
- x = httpReq()
- x.start()
- class Example(Frame):
- global data
- def __init__(self, parent):
- Frame.__init__(self, parent)
- self.parent = parent
- self.initUI()
- def initUI(self):
- self.parent.title("Example App")
- self.pack(fill=BOTH, expand=True)
- frame1 = Frame(self)
- frame1.pack(fill=X)
- lbl1 = Label(frame1, text="DATA", width= 20)
- lbl1.pack(side=LEFT, padx=5, pady=5)
- lbl2 = Label(frame1, text= data)
- lbl2.pack(fill=X, padx=5, expand=True)
- def main():
- root = Tk()
- root.geometry("1920x1080")
- app = Example(root)
- root.mainloop()
- if __name__ == '__main__':
- main()