tkinter如何实现下拉框联动
有些小伙伴想在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("<<ComboboxSelected>>", xFunc)
root.mainloop()
tkinter(Combobox下拉菜单)笔记
目标
学习Tkinter制作窗体软件的基础,Combobox下拉菜单的制作。
试验平台
- windows7
- python3.7
直接上代码
import tkinter
from tkinter import ttk
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口标题
win.geometry("500x300+200+20") # #窗口位置500后面是字母x
'''
下拉菜单
'''
xVariable = tkinter.StringVar() # #创建变量,便于取值
com = ttk.Combobox(win, textvariable=xVariable) # #创建下拉菜单
com.pack() # #将下拉菜单绑定到窗体
com["value"] = ("河北", "河南", "山东") # #给下拉菜单设定值
com.current(2) # #设定下拉菜单的默认值为第3个,即山东
def xFunc(event):
print(com.get()) # #获取选中的值方法1
print(xVariable.get()) # #获取选中的值方法2
com.bind("<<ComboboxSelected>>", xFunc) # #给下拉菜单绑定事件
win.mainloop() # #窗口持久化
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。