@ShyZyK

Как удалить виджет label при повторном нажатии на кнопку?

К кнопке привязана функция ft(), ее задача заключается в выводе введенного числа и при повторном вызове функции предыдущий элемент label должен удаляться. Все было бы хорошо, если бы не ошибка "local variable 'kh' referenced before assignment", не понимаю из-за чего выходит ошибка, ведь переменная kh существует как и ее значение 0
from tkinter import*
kh = 0
 
def ft():
    
    label_data = Label(root,text = 'Введенное число %s')
    label_data.pack()
    
    if kh == 1:
        kh = 0
        label_data.destroy()
    else:
        kh += 1
  • Вопрос задан
  • 581 просмотр
Пригласить эксперта
Ответы на вопрос 1
@procheloVek
Конкретно про "local variable 'kh' referenced before assignment"
В области видимости функции ft() не объявлена переменная ft().
Тебе нужно передать эту переменную в функцию
kh=0
def ft():
    label_data = Label(root,text = 'Введенное число %s')
    label_data.pack()
    if kh == 1:
        kh = 0
        label_data.destroy()
    else:
        kh += 1
ft(kh)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 апр. 2024, в 12:48
1500 руб./за проект
16 апр. 2024, в 12:30
12000 руб./за проект
16 апр. 2024, в 12:13
10000 руб./за проект