我正在尝试在选择radioButton之后动态创建按钮,但是我找不到如何将值从radioButton传递给函数的方法。我在做什么错了?
我与代码相关的部分:
class VP_info():
def __init__(self):
#radio buttons
self.radio_var = tk.IntVar()
radioBtt1 = ttk.Radiobutton(self.window, text="Registracija", variable = self.radio_var, value= 0, command=self.radioBtt_click)
radioBtt2 = ttk.Radiobutton(self.window, text="Keitimai", variable = self.radio_var, value= 1, command=self.radioBtt_click)
radioBtt1.grid(row=2, column=1, sticky="w")
radioBtt2.grid(row=2, column=1)
#radioBtt click event
def radioBtt_click(self):
first_frame = ttk.LabelFrame(self.window, text="VP info", relief=tk.RIDGE)
first_frame.grid(row=4, column=1, padx=10, pady=10, sticky=tk.E + tk.W + tk.N + tk.S)
if self.radio_var == 0:
self.add_buttons_first(first_frame)
else:
self.add_buttons_second(first_frame)
使用代码,然后单击单选按钮,总是创建第二组按钮(尽管选择了第一个单选按钮)。
答案 0 :(得分:2)
您应该在函数中获取self.radio_var
的值:
def radioBtt_click(self):
#<---code-->
if self.radio_var.get() == 0:
self.add_buttons_first(first_frame)
else:
self.add_buttons_second(first_frame)