Als ein erstes Projekt habe ich beschlossen, eine App zu bauen, die mir den aktuellen Ölpreis zeigen wird, so dass ich nicht die ganze Zeit auf die Forex Charts schauen muss.Constant Tkinter window update
Das Problem mit dieser App ist, dass die "Update" -Schleife nur Ölpreis alle 3 Sekunden druckt, also weiß ich, dass diese Schleife ständig ausgeführt wird, aber es aktualisiert nicht nur den Text im Fenster, aber es stürzt auch ab es, während Shell den Ölpreis druckt.
Ich habe versucht, Multiprocessing-Modul zu verwenden, aber es machte keinen Unterschied.
def window():
root = Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
mylabel = Label(root, text = "")
mylabel.pack()
def update():
while True:
global string_price
request = requests.get("http://www.biznesradar.pl/notowania/BRENT-OIL-ROPA-BRENT#1d_lin_lin")
content = request.content
soup = BeautifulSoup(content, "html.parser")
element = soup.find("span", { "class": "q_ch_act" })
string_price = (element.text.strip())
print(string_price)
mylabel.configure(text = str(string_price))
time.sleep(3)
root.after(400, update)
mainloop()
Danke! Es hat sehr geholfen! Ich habe auch den Zeitwert in der "root.after" ganz unten in Ihrem Code für "0" geändert, so dass die App den Ölpreis direkt nach dem Öffnen überprüft. –
Sie brauchen 'nicht' nach dem ersten Anruf zu verwenden. Sie können 'update()' direkt aufrufen. Sie sollten jedoch die Funktion wahrscheinlich etwas anderes nennen. Alle Widgets haben eine "update" -Methode, so dass eine eigene "update" -Methode verwirrend sein kann. –
@KarolMularski überprüfen Sie bitte auch nach Änderungen. Einige Änderungen wurden gemäß den Vorschlägen von Bryan angewendet. – Lafexlos