Ich möchte einen Wert aus einer MYSQL-Datenbank lesen und in einem kleinen Fenster auf dem Desktop darstellen.
Im Prinzip funktioniert das auch. Ich will allerdings diese Datenabfrage periodisch wiederholen (alle 5min), weil sich der Wert ändert. (hier mal zum testen auf 3 sec gestellt)
An dieser Stelle komme ich nicht weiter. Das Programm bleibt scheinbar in der while-Schleife stehen. Ich hab mal gelesen, dass bei solchen Verzögerungen in der mainloop diese dann nicht richtig funktioniert.
Wie soll ich diese periodische Abfrage bewerkstelligen?
Code: Alles auswählen
from tkinter import *
import mysql.connector
import time
from time import sleep
def abfrage():
connection = mysql.connector.connect (host = 'xxx', user = 'xxx', password = 'xxx', database = 'xxx')
cursor = connection.cursor()
#die Tabelle 'wsensor' wird absteigend sortiert nach Datum und eine Zeile wird selectiert (LIMIT1) - d.h. dann 'die letzte Zeile'
cursor.execute("SELECT*from wsensor ORDER BY jahr DESC, monat DESC, tag DESC, stunde DESC, minute DESC LIMIT 1")
#das 7. Element der Zeile wird gelesen und in einen string gewandelt
wert = str(cursor.fetchone()[6])
connection.close()
labeltext="Temperatur :", wert, " °C"
return labeltext
fenster = Tk()
fenster.geometry("120x50+1230+640")
fenster.title("")
label0=Label(fenster, text = "Leinenborn")
label0.place(x=10, y=0)
label=Label(fenster)
label.place(x=10, y=15)
while 1:
labeltext = abfrage()
label.configure(text = labeltext)
sleep (3)
fenster.mainloop()