|

楼主 |
发表于 2020-10-13 08:23:44
|
显示全部楼层
感谢@疾风怪盗
你这个也是个路子。
我后来选择的是,一级一级往下选。
下面是两个combobox,选了1里边的某个,然后2里边出现1的子集;以此类推
- import tkinter as tk
- import tkinter.ttk as ttk
- win = tk.Tk()
- win.title("Python GUI") # 添加标题
- cv = tk.StringVar()
- cv1 = tk.StringVar()
- label1 = tk.Label(win,text='工序:',font=("等线", 16)).grid(row=2,column=1,padx=5,pady=10,stick='W')
- co1 = ttk.Combobox(win,font=("等线", 16),textvariable=cv)
- co1.grid(row=2,column=2,padx=5,pady=10,stick='W')
- co1['value']=('包带','包装','编织')
- label5 = tk.Label(win,text='缺陷:',font=("等线", 16)).grid(row=3,column=1,padx=5,pady=10,stick='W')
- co2 = ttk.Combobox(win,font=("等线", 16),textvariable=cv1)
- co2.grid(row=3,column=2,padx=5,pady=10,stick='W')
- def func(event):
- if co1.get()=='包带':
- co2['value']=('原材料问题', '装盘', '损伤线芯')
- elif co1.get()=='包装':
- co2['value']=('盘具撞伤', '盘具标识', '装盘')
- elif co1.get()=='编织':
- co2['value']=('原材料问题', '装盘', '编织密度')
- co1.bind("<<ComboboxSelected>>", func)
- win.mainloop()
复制代码 |
|