我正在创建用于预订详细信息的多行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
但下拉菜单中的值为客户详细信息和航班详细信息
答案 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
中?
希望这会有所帮助。