有些小伙伴想在GUI界面上实现像前端一样的下拉框联动的效果,但是前端可以通过Ajax实现,
GUI如何实现呢,以下代码为你揭晓:
import tkinter as tk
from tkinter import ttk
# 定义选择框内容
select = {"第一季度": ("1月", "2月",),
"第二季度": ("4月", "5月", "6月"),
"第三季度": ("8月", "7月", "9月"),
"第四季度": ("10月", "11月", "12月")}
# 创建窗体
root = tk.Tk()
# 创建字符型变量
xVariable = tk.StringVar()
# 创建下拉选择框,使用网格布局
com1 = ttk.Combobox(root, textvariable=xVariable)
com1.grid(row=1, column=1)
# 设置第一个下拉框的内容
com1['value'] = list(select.keys())
# 同样的方法创建第二个下拉框和他的文本变量
yVariable = tk.StringVar()
com2 = ttk.Combobox(root, textvariable=yVariable)
com2.grid(row=1, column=3)
# 定义方法供第一个下拉框变化时调用
def xFunc(event):
com2.delete(0, tk.END)
value = xVariable.get()
com2['value'] = select[value]
com2.current(0) # 设置默认值
# 第一个下拉框绑定方法
com1.bind("<>", xFunc)
root.mainloop()