我有 1 个组合框来选择我的产品,根据情况我的代码将执行一些操作。
来自字典
dic = {'product_1': \['5', '', 'B1'\], 'product_2': \['12', '28', 'B2'\],'product_3': \['14', '', 'B3'\]}
我想将字典中的值提取到变量来执行此操作:
首先要知道,我有 2 个按钮(d 和 b)。
如果我从组合框中选择“product_1”,我希望将值“5”分配给variable_1。
如果我从组合框中选择“product_2”,我希望将值“12”分配给variable_1,将“28”分配给variable_2。
如果我从组合框中选择“product_3”,我希望将值“14”传递给variable_1。
然后我将按钮:
如果我从组合框 d 中选择“product_1”按钮将受到 def set_d 的影响。
如果我从组合框中选择“product_2”,d 按钮将受到 def set_d 的影响,b 按钮将受到 def set_b 的影响。
如果我从组合框 d 中选择“product_3”按钮将受到 def set_d 的影响。
我主要的所有行动都很好。
import tkinter as tk
from tkinter import ttk
from tkinter import
from dico_vl import dic
app_prod = tk.Tk()
dic = {'product_1': \['5', '', 'B1'\],
'product_2': ['12', '28', 'B2'\],
'product_3': ['14', '', 'B3'\],
}
listProducts = list(dic.keys())
d= `*i don't know to get value '12' here*`
b= `*i don't know to get value '28' here*`
def set_d():
ps.write(f'You selected {d}')
def set_b():
ps.write(f'You selected {b}')
def select_prod(event):
value = list_prod.get()
if value in p1:
action_1
if value in p2:
action_2
frame_prod = LabelFrame(app_prod, text="Product selection")
frame_prod.pack(side=TOP, fill="x", expand=0, ipadx=10, ipady=10, padx=10)
list_prod = ttk.Combobox(frame_prod, value = listProducts, width=30)
list_prod.bind("\<\<ComboboxSelected\>\>", select_prod)
list_prod.pack(ipadx=5, ipady=5, padx=5, pady=5)
type1A = tk.Button(text="T1", width=10, command=set_d)
type1B = tk.Button(text="T2", width=10, command=set_b)
如何将所选键的功能中的多个值的特定值放入组合框
我有 1 个组合框来选择我的产品,根据情况我的代码将执行一些操作。
我不明白你的意思
variable_1
和variable_2等。你的意思是这些进入字典列表吗?from tkinter import
片段:
import tkinter as tk
from tkinter import ttk
#from dico_vl import dic
app_prod = tk.Tk()
dic = {'product_1': ['5', '', 'B1'],
'product_2': ['12', '28', 'B2'],
'product_3': ['14', '', 'B3'],
}
listProducts = list(dic.keys())
def select_prod(event):
value = list_prod.get()
print(dic[value][0])
def select_key():
value = list_prod.get()
print(f'You selected key {value}')
#ps.write(f'You selected {value}')
frame_prod = tk.LabelFrame(app_prod, text="Product selection")
frame_prod.pack(side=tk.TOP, fill="x", expand=0, ipadx=10, ipady=10, padx=10)
list_prod = ttk.Combobox(frame_prod, value = listProducts, width=30)
list_prod.bind('<<ComboboxSelected>>', select_prod)
list_prod.pack(ipadx=5, ipady=5, padx=5, pady=5)
tk.Button(text="T1", width=10, command=select_key).pack()
app_prod.mainloop()
截图:
输出:
5
You selected key product_1
12
You selected key product_2