利用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 ...