Pyhton Tkinter güncellenmiyor

def update_label():
    Analiz1 =  lin_reg.predict([[numeric_time,element]])
    Analiz2 = lin_reg_poly.predict(x_poly.fit_transform([[numeric_time,element]]))
    Analiz3 = dt.predict([[numeric_time,element]])
    Analiz4 = rf.predict([[numeric_time,element]])
    label.config(text="Analiz 1: {}\nAnaliz 2: {}\nAnaliz 3: {}\nAnaliz 4: {}".format(Analiz1, Analiz2, Analiz3, Analiz4))
    root.after(1000, update_label)
    root.update_idletasks()

root = tk.Tk()
root.title("Analiz")

label = tk.Label(root, text="", font=("Helvetica", 50))
label.pack()

update_button = tk.Button(root, text="Yenile", command=update_label)
update_button.pack()

update_label()
root.mainloop()

Analiz1,2,3,4 deki degerlerim sütrekli güncelleniyor fakat arayüzdeki veriler güncellenmiyor arayüzüm sabit kalıyor nasıl çözebilirim. Teşekkürler.

Donuyorsa thread kullanman gerekebilir.

maalesef olmuyor

    def update_label():
        Analiz1 =  lin_reg.predict([[numeric_time,element]])
        Analiz2 = lin_reg_poly.predict(x_poly.fit_transform([[numeric_time,element]]))
        Analiz3 = dt.predict([[numeric_time,element]])
        Analiz4 = rf.predict([[numeric_time,element]])
        label.config(text="Analiz 1: {}\nAnaliz 2: {}\nAnaliz 3: {}\nAnaliz 4: {}".format(Analiz1, Analiz2, Analiz3, Analiz4))
        root.after(1000, update_label)
        root.update_idletasks()
    
    root = tk.Tk()
    root.title("Analiz")
    
    label = tk.Label(root, text="", font=("Helvetica", 50))
    label.pack()
    
    update_button = tk.Button(root, text="Yenile", command=update_label)
    update_button.pack()
    
    update_label()
    root.mainloop()

thread = threading.Thread(target=update_label)
thread.start()

thread'i yanlış yerde kullanıyorsunuz. Aşağıdaki gibi kullanmanız lazım.

def update_label():
    Analiz1 =  lin_reg.predict([[numeric_time,element]])
    Analiz2 = lin_reg_poly.predict(x_poly.fit_transform([[numeric_time,element]]))
    Analiz3 = dt.predict([[numeric_time,element]])
    Analiz4 = rf.predict([[numeric_time,element]])
    label.config(text="Analiz 1: {}\nAnaliz 2: {}\nAnaliz 3: {}\nAnaliz 4: {}".format(Analiz1, Analiz2, Analiz3, Analiz4))
    root.after(1000, update_label)
    root.update_idletasks()

root = tk.Tk()
root.title("Analiz")

label = tk.Label(root, text="", font=("Helvetica", 50))
label.pack()

update_button = tk.Button(root, text="Yenile", command=lambda: threading.Thread(target=update_label, daemon=True).start())
update_button.pack()

update_label()
root.mainloop()
1 Beğeni