Как сделать переменную Button внутри евента глобальной?
Всем привет! Мне при написании на tkinter столкнулся с проблей из которой не могу сделать евент в евенте. То есть у меня есть одна главная кнопка, которая запускает евент и в этом евенте появляется новая кнопка, которая опять же запускает новый евент, но при этом он должгна уничтожить кнопку прошлого евента, но у меня так не получается. Помогите пожалуйста. Снизу привел пример.
def vibor_category(event): #первый ивент
btn_start.destroy()
vibor_kategory=Label(root,text='Выберите категорию слов:',font=15)
vibor_kategory.pack(fill='both')
slova_sport=Button(root,text='Спорт')
slova_sport.bind("<Button-2>",deadsport) # Кнопка которую хочу уничтожить в другом ивенте
slova_sport.pack(fill='both')
def deadsport():
sport_words=['футбол','волейбол','баскетбол','аут','крикет']
word=random.choice(sport_words)
resh=list('_'*len(word))
slova_sport.destroy() #попытка уничтожения кнопки
vivod_text=Label(root,text=resh)
btn_start=Button(root,
text='Играть',
width=30,height=10,
bg='white',fg='black',)
btn_start.bind("<Button-1>", dead_game_start) #кнопка запускающая ивент
btn_start.pack(fill='both')
root.
Ответы (1 шт):
Проблема заключается в том, что переменная slova_sport, которую вы пытаетесь уничтожить в функции deadsport, не видна в этой функции, так как она определена в функции vibor_category. Чтобы исправить это, вам нужно сделать slova_sport глобальной переменной или передать ее в функцию deadsport