Assigning values to optionmenu in tkinter

柔情痞子 提交于 2020-01-14 05:57:26

问题


I have a list of months which I want to show in an option menu. When I select a month, I want get the number of month it is. Like if Apr is selected, I want an answer that This is the fourth month

I have written code as follows:

months = {'Jan' : '1', 'Feb' : '2', 'March' : '3' , 'Apr' : '4'}
var = StringVar(root)
var.set('Jan')

OptionMenu1 = OptionMenu(root, var, *months)
OptionMenu1.pack();

I want to know, how to trigger a function on selecting a particular entry


回答1:


You can use the .trace method on the StringVar()

from tkinter import *

root = Tk()

months = {'Jan' : '1', 'Feb' : '2', 'March' : '3' , 'Apr' : '4'}    
var = StringVar(root)
var.set('Jan')

def changing(*event):
    print(months[var.get()])
var.trace("w", changing)

OptionMenu1 = OptionMenu(root, var, *months)
OptionMenu1.pack();


来源:https://stackoverflow.com/questions/42886155/assigning-values-to-optionmenu-in-tkinter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!