如何从 Tkiner 单选按钮获取 INT 值

时间:2021-01-02 18:10:08

标签: python tkinter radio-button updates

我真的很感激关于为什么我的变量 r 停留在 1 的一些建议,是的,我知道我确实将它设置为 1,但是正如我所调查的那样,一旦我单击适当的单选按钮,它就会更新。如果我不将 r 值设置为 1,则在这种情况下它始终为 0,并且非常想知道如何在单击时更新按钮响应。

def radio_button() -> int:
    print(r.get())
return r.get()

r = IntVar()
r.set(1)

Radiobutton(third_window, text="Lightly active", variable=r, value=1, command=radio_button).grid(
    row=4, column=0)
Radiobutton(third_window, text="Medium active", variable=r, value=2, command=radio_button).grid(
    row=4, column=1)
Radiobutton(third_window, text="Heavily active", variable=r, value=3, command=radio_button).grid(
    row=4, column=2)

def submit_button():
    result = int(weight_entry.get()) + int(height_entry.get()) + int(age_entry.get()) + radio_button()
    result_label = Label(third_window, text=str(result) + " Calories per day").grid(row=14, column=1)

btn_submit = tk.Button(third_window, text="Submit", command=submit_button, padx=30, pady=10)
btn_submit.grid(row=8, column=0)

1 个答案:

答案 0 :(得分:0)

我真的很感谢帮助但是我已经解决了它,我忘了提到这个创建一个全新窗口的函数在另一个窗口中,这意味着当我声明 r = IntVar() 时,我必须声明哪个root/master/window 它应该在。 就我而言,它是 r = IntVar(third_window)