@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
  • Вопрос задан
  • 892 просмотра
Пригласить эксперта
Ответы на вопрос 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы