我是Python的新手,我现在还在尝试一下。我家里有一个气象站,链接到JSON Web API。通过Python我想在屏幕上读取温度。
我遇到的问题是温度没有自我更新。当Python程序开始获得正确的温度时。但如果温度发生变化,那就是python脚本。不会改变。
import urllib.request
import json
from tkinter import *
import tkinter as tk
while True:
key = "1234"
method = "getTemp"
data = json.load(urllib.request.urlopen('http://IP.COM/api/api.php?key=' + key + "&request=" + method))
temp = (data[u'temp'])
root = Tk()
root.title("Temperature board")
root.configure(background='#545454')
cv = tk.Canvas(width=1000, height=1000, background='#545454')
timeLabel = cv.create_text(200, 360, fill="white", text=temp, font=('Arial', 100))
cv.pack()
root.mainloop()
我试图创建一个循环来解决问题,但它似乎没有用。
答案 0 :(得分:1)
root.mainloop()
块,这意味着当它运行时,程序就会停在那里。因此,你的循环实际上没有任何区别。您可以使用here描述的解决方案来运行更新温度的函数。
从那里的最佳答案中找到解决方案,您可以执行以下操作:
# setup
def update():
# update temperature
root.after(millis between updates, update)
root.after(millis between updates, update)
root.mainloop()