利用tkinter实现下拉框联动
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() # #窗口持久化
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程宝库。
前言在跑模型的时候,遇到如下报错UserWarning: To copy construct from a tensor, it is re ...