如何在Tkinter OptionMenu中设置变量?

时间:2018-09-09 22:25:20

标签: python tkinter

所以我的问题是,为什么Tkinter OptionMenu没有默认设置为4.5?我是否只需要将4.5放在avgdisc_thresh列表的开头,还是我做错了什么?

avgdisc_thresh = [3.5, 4, 4.5, 5, 5.5, 6]

avgdisc_var = tk.StringVar()
avgdisc_var.set("4.5")

loss_option = ttk.OptionMenu(
    loss_top_win, avgdisc_var, *avgdisc_thresh)
loss_option.grid(
    row=0, column=0)

谢谢!

1 个答案:

答案 0 :(得分:2)

对于ttk OptionMenu,变量名之后的第一个值用作默认值,它将覆盖您先前设置的任何值。一种简单的解决方案是在创建窗口小部件时提供默认值。

示例:

loss_option = ttk.OptionMenu(loss_top_win, avgdisc_var, "4.5", *avgdisc_thresh)