如何在tkinter组合框的下拉菜单中添加值?

时间:2019-05-14 10:31:29

标签: python tkinter combobox

我正在创建用于预订详细信息的多行GUI。 我已经导入了tkinter并为其他文本字段编写了代码,但是我无法在组合框中输入值! 我得到它显示在窗口中,但其中没有任何值! 我要去哪里错了?

我尝试使用其他代码,但是当我运行该代码时,弹出了两个窗口-一个用于总价格,航班主机等,另一个用于组合框

        tk.Label(form_frame, text= "Go To", font=('arial', 10),
                width=20, anchor="e", bd=1,
                pady=10, padx=10).grid(row=4, column=0)
        comboExample = ttk.Combobox( 
                                    values=[
                                            "Customer Details", 
                                            "Flight Details"])
        combo_prod_cat = ttk.Combobox(form_frame, state="normal", width=10)
        combo_prod_cat.grid(row=4, column=1, sticky="w")

我希望窗口像这样弹出: https://imgur.com/jVTtj5d

但下拉菜单中的值为客户详细信息和航班详细信息

2 个答案:

答案 0 :(得分:0)

我认为您需要“ OptionMenu()”而不是“ ComboBox()”。 下面是一个简短的示例:

# your options
values = ['-', 'Customer Details', 'Flight Details']

# variable which holds the current selected option. It none selected it's '-'.
dd_option = StringVar(form_frame)
dd_option.set('-')

dropdown = OptionMenu(form_frame, dd_option, *values)
dropdown.grid(<your element placement>)

要跟踪选择,可以使用s.th。像这样:

def value_changed(*args):
    # exmaple
    print(dd_option.get())

dd_option.trace('w', value_change)

这是选项菜单的完整示例: https://pythonspot.com/tk-dropdown-example/

答案 1 :(得分:0)

设置values参数。

chosen_var = StringVar(form_frame)
combo_prod_cat = ttk.Combobox(form_frame, state="normal", width=10, values=["Choose", "Customer Details", "Flight Details"], textvariable=chosen_var, width=20)
combo_prod_cat.current(0)
combo_prod_cat.grid(row=4, column=1, sticky="w")

可以在我的机器上使用。并且您是否注意到没有在combo_prod_cat中指定值?仅在comboExample中?

希望这会有所帮助。