Как сделать обновление информации в label? Библиотека customtkinter. Python
Вот мой код (сокращение дробей):
import customtkinter as ctk
import math
ctk.set_appearance_mode("System")
ctk.set_default_color_theme("blue")
root = ctk.CTk()
root.title('Дроби')
root.geometry('300x300')
root.resizable(0, 0)
def sokr():
ch = int(chis.get())
zn = int(znam.get())
print(ch)
print(zn)
nod = math.gcd(ch, zn)
print(nod)
a = ch // nod
b = zn // nod
print(a)
print(b)
print('success')
lb = ctk.CTkLabel(master=root, text=f'НОД - {nod}, числитель - {a}, знаменатель {b}').pack(pady=130)
chis = ctk.CTkEntry(master=root, placeholder_text='Числитель')
chis.place(relx=0.5, rely=0.15, anchor=ctk.CENTER)
znam = ctk.CTkEntry(master=root, placeholder_text='Знаменатель')
znam.place(relx=0.5, rely=0.25, anchor=ctk.CENTER)
button = ctk.CTkButton(master=root, text="ВВОД", command=sokr)
button.place(relx=0.5, rely=0.38, anchor=ctk.CENTER)
root.mainloop()
хочу сделать, чтобы, если вводить новые данные в entry числитель и entry знаменатель, и нажимать кнопку ВВОД данные в label обновлялись. Заранее спасибо!
Ответы (1 шт):
Автор решения: Donovan
→ Ссылка
Для этого нужно создать label
с пустым текстом и менять значения text
через метод configure()
в нужной функции
Пример кода:
import customtkinter as ctk
import math
ctk.set_appearance_mode("System")
ctk.set_default_color_theme("blue")
root = ctk.CTk()
root.title('Дроби')
root.geometry('300x300')
root.resizable(0, 0)
def sokr():
ch = int(chis.get())
zn = int(znam.get())
print(ch)
print(zn)
nod = math.gcd(ch, zn)
print(nod)
a = ch // nod
b = zn // nod
print(a)
print(b)
print('success')
Label.configure(text = f'НОД - {nod}, числитель - {a}, знаменатель {b}') #lb = ctk.CTkLabel(master=root, text=f'НОД - {nod}, числитель - {a}, знаменатель {b}').pack(pady=130)
chis = ctk.CTkEntry(master=root, placeholder_text='Числитель')
chis.place(relx=0.5, rely=0.15, anchor=ctk.CENTER)
znam = ctk.CTkEntry(master=root, placeholder_text='Знаменатель')
znam.place(relx=0.5, rely=0.25, anchor=ctk.CENTER)
button = ctk.CTkButton(master=root, text="ВВОД", command=sokr)
button.place(relx=0.5, rely=0.38, anchor=ctk.CENTER)
Label = ctk.CTkLabel(root, text="") # lb
Label.pack(pady=130) # lb.pack()
root.mainloop()