def comfirm():
print(model)
v = StringVar()
v.set("0")
r1 = Radiobutton(set_frame, text="test1", value='1', variable=v, bg="LightGrey")
r2 = Radiobutton(set_frame, text="test2", value='2', variable=v, bg="LightGrey")
r1.pack(side="left")
r2.pack(side="left")
Button(set_frame, text="确定", command=comfirm, highlightbackground='#D3D3D3').pack(side="left")
model = v.get()
为什么我点击按钮后输出的值一直都是0,Radiobutton的值没有传到变量v里去
因为model只是一个变量,赋值过后不会再刷新了,代码应该这么改:
def comfirm():
print(v.get())#################################打印v的内容
v = StringVar()
v.set("0")
r1 = Radiobutton(set_frame, text="test1", value='1', variable=v, bg="LightGrey")
r2 = Radiobutton(set_frame, text="test2", value='2', variable=v, bg="LightGrey")
r1.pack(side="left")
r2.pack(side="left")
Button(set_frame, text="确定", command=comfirm, highlightbackground='#D3D3D3').pack(side="left")
model = v.get()
##这只是一个变量,赋值过后不会更改了