Я создаю окно, в котором у вас есть 4 опции в кнопке (используя Tkinter в Python). Я sh, что всякий раз, когда вы нажимаете одну опцию, другие меняют состояние, деактивируются. Я видел сообщение, в котором они использовали это:
root = Tk()
def click():
check.config(state=DISABLED)
check = Checkbutton(text="Click Me", command=click)
check.grid()
root.mainloop()
Однако в моей программе у меня есть несколько windows, и я нахожусь в третьем окне. И когда я делаю def , чтобы отключить невыбранные кнопки проверки, я получаю сообщение об ошибке, в котором говорится, что мои кнопки проверки не определены, это часть кода, которая имеет значение:
budget1 = IntVar()
budget2 = IntVar()
budget3 = IntVar()
budget4 = IntVar()
window3 = Toplevel()
window3.config(bg="lightgreen")
window3.title("My details")
window3.resizable(1, 1)
secondary_font=("Arial 20 bold")
check_3box = Frame(window3, bg="lightgreen")
check_3box.grid(column=0, row=7)
W9_W3 = Checkbutton(check_3box, text="$0-$300", variable=budget1, bg="white", fg="black", command=budget_disable(1))
W9_W3.grid(column=0,row=7, padx=15, pady=1)
W10_W3 = Checkbutton(check_3box, text="$300-500", variable=budget2, bg="white", fg="black", command=budget_disable(2))
W10_W3.grid(column=1, row=7, padx=15, pady=1)
W11_W3 = Checkbutton(check_3box, text="$500-$900", variable=budget3, bg="white", fg="black", command=budget_disable(3))
W11_W3.grid(column=2, row=7, padx=15, pady=1)
W12_W3 = Checkbutton(check_3box, text="$900+",variable=budget4, bg="white", fg="black", command=budget_disable(4))
W12_W3.grid(column=3, row=7, padx=15, pady=1)
И у меня есть этот def прямо в начале кода
def budget_disable(a):
if a == 1:
W10_W3.config(state=DISABLED)
W11_W3.config(state=DISABLED)
W12_W3.config(sate=DISABLED)
if a == 2:
W9_W3.config(state=DISABLED)
W11_W3.config(state=DISABLED)
W12_W3.config(sate=DISABLED)
if a == 3:
W9_W3.config(state=DISABLED)
W10_W3.config(state=DISABLED)
W12_W3.config(sate=DISABLED)
if a == 4:
W9_W3.config(state=DISABLED)
W10_W3.config(state=DISABLED)
W11_W3.config(state=DISABLED)
И появляется ошибка
NameError: name 'W10_W3' is not defined