When I click a proceed button in window 2, I want to show error message when no radio button selected. but it shows error like " if v != [1,2,3]: NameError: name 'v' is not defined"
class Win2(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
Label(self, text= "second window", font= ('Helvetica 20 bold')).pack(padx=5, pady=10)
Label(self, text= "Configurations", font= ('Helvetica 20 bold')).pack(padx=5, pady=10)
v = StringVar(self, "1")
values = {"block 1" : "1",
"block 2" : "2",
"block 3" : "3"}
for (text, value) in values.items():
Radiobutton(self, text = text, variable = v, bg="light blue", value = value, indicator = 0, width = 10).pack(pady=5)
B1=Button(self, text="PROCEED", bg="green", fg="white", command=lambda:self.message()).pack(pady=10)
B2=Button(self, text="BACK", bg="red", fg="white").pack(pady=10)
def message(self):
if v != [1,2,3]:
messagebox.showerror(title="Error", message="Please select any configuration")
class Application(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
window = tk.Frame(self)
window.pack(side = "top", fill = "both", expand = True)
self.frames = {}
for F in (Win1, Win2):
frame = F(window, self)
self.frames[F] = frame
frame.grid(row = 0, column=0, sticky="nsew")
self.show_frame(Win1)
def show_frame(self, window):
frame = self.frames[window]
frame.tkraise()
self.title("Test")
self.geometry('1500x1500')
app = Application()
app.mainloop()
Anyone please help me to solve this error