Code: Alles auswählen
import tkinter as tk
import random
class WetterProTag:
def __init__(self, offset):
self._offset = offset
self._frame = None
self._temperature_var = tk.StringVar()
def setup_ui(self, parent):
frame = tk.Frame(parent)
description = tk.Label(frame, text=f"Tag {self._offset}")
temperature = tk.Label(frame, textvariable=self._temperature_var)
description.pack(side=tk.LEFT, anchor=tk.W)
temperature.pack(side=tk.RIGHT, anchor=tk.E)
return frame
def update(self, text):
self._temperature_var.set(text)
def setup_weather_display(root):
days = [WetterProTag(i) for i in range(7)]
for day in days:
frame = day.setup_ui(root)
frame.pack(anchor=tk.N)
def update(temperatures):
for day, temp in zip(days, temperatures):
day.update(f"{temp}C")
return update
def cyclic_update(root, update_function):
temperatures = random.sample(list(range(20, 35)), 7)
update_function(temperatures)
root.after(1000, lambda: cyclic_update(root, update_function))
def main():
root = tk.Tk()
update_function = setup_weather_display(root)
cyclic_update(root, update_function)
root.mainloop()
if __name__ == '__main__':
main()