Tkinter button.get()返回先前的值

时间:2018-03-10 20:36:56

标签: python-3.x tkinter radio-button

我正在尝试编写一个返回所选单选按钮值的程序。

我的按钮创建代码在哪里:

for Ftype in food_type:

if i < 9:
    b = Radiobutton(type_frame, text=Ftype, value=Ftype, variable=selected)
    b.bind("<1>", print_selected)
    b.grid(row=i, sticky=W)
else:
    b = Radiobutton(type_frame, text=Ftype, value=Ftype, variable=selected)
    b.bind("<1>", print_selected)
    b.grid(row=j, column=1, sticky=W)
    j += 1
i += 1

我创建了这样的选定变量:

root = Tk()
selected = StringVar()

我有print_selected的功能,如下所示:

def print_selected(event):
    print("%s was selected!" % selected.get())

它有效但除了它给我前一项。因此,如果我单击item1,然后单击item2,然后单击item3,我将得到以下输出:

&#34;被选中了!&#34;
&#34; item1被选中了!&#34;
&#34; item2被选中了!&#34;

有什么想法吗?我已经看过了,找不到与我要求的相似的东西。

0 个答案:

没有答案