Tkinter как индексируется Radiobutton в цикле
код
Otvet = [("Круглая", 1),("Квадртная",2),("Это Марс",3),("Вообще-то Луна",4)]
GlobalVar_Int = IntVar()
relY = float(0.1)
for Str_Otvet,Value_Otvet in Otvet:
_Radiobutton = Radiobutton(windows, variable=GlobalVar_Int, fg="black", text=Str_Otvet, value=Value_Otvet, command=select)
relY += 0.1
_Radiobutton.place(relx=0.1,rely=relY)
Вопрос: Как будет в цикле индексироваться _Radiobutton? как мне обратиться допустим конкретно к самому первому _Radiobutton который был создан в цикле? я хочу удалить все 4 radiobutton-а но и-за того что не знаю каким образом они индексируется удаляется только 4-тый элемент если писать _Radiobutton.destroy()
Ответы (2 шт):
Автор решения: ganz
→ Ссылка
Otvet = [("Круглая", 1),("Квадртная",2),("Это Марс",3),("Вообще-то Луна",4)]
GlobalVar_Int = IntVar()
relY = float(0.1)
R={} #словарь для хранения кнопкев
for Str_Otvet,Value_Otvet in Otvet: #читай как правильно назыввать переменные
R[Str_Otvet]=Radiobutton(windows, variable=GlobalVar_Int, fg="black", text=Str_Otvet, value=Value_Otvet, command=select)
relY += 0.1 #хз чо тута
R[Str_Otvet].place(relx=0.1,rely=relY)
R[("Круглая", 1)].destroy()
суть в словаре, имена могуть быть любые в том числе и по первому элементу кортежа
Автор решения: Syslog
→ Ссылка
Смог решить проблему списком и последующим удалением в цикле:
Otvet = [("Круглая", 1),("Квадртная",2),("Это Марс",3),("Вообще-то Луна",4)]
GlobalVar_Int = IntVar()
relY = float(0.1)
list_Radiobutton = []
for Str_Otvet,Value_Otvet in Otvet:
_Radiobutton = Radiobutton(windows, variable=GlobalVar_Int, fg="black", text=Str_Otvet, value=Value_Otvet, command=select)
relY += 0.1
_Radiobutton.place(relx=0.1,rely=relY)
list_Radiobutton.append(_Radiobutton)
for radiobut in list_Radiobutton:
radiobut.destroy()