Python 3.x Tkinter在选项菜单选择发生更改时检测

Python 3.x Tkinter在选项菜单选择发生更改时检测,python-3.x,tkinter,Python 3.x,Tkinter,目前正在使用记事本应用程序,并且OptionMenu小部件存在问题 self.fileOptionMenu = OptionMenu(self.master, self.var, *self.fileList, command=self.openFileCurrentDir) self.fileOptionMenu.pack() def openFileCurrentDir(self): print("inside openFileCurrentDir()") 更改选择后,openF

目前正在使用记事本应用程序,并且OptionMenu小部件存在问题

self.fileOptionMenu = OptionMenu(self.master, self.var, *self.fileList, command=self.openFileCurrentDir)
self.fileOptionMenu.pack()

def openFileCurrentDir(self):
    print("inside openFileCurrentDir()")

更改选择后,
openFileCurrentDir()
函数永远不会运行

您可以在
StringVar
上使用
trace
方法

def __init__(self,master):
    self.master = master
    self.var = StringVar()
    self.var.trace("w", self.openFileCurrentDir)
    l = ["A","B","C","D"]
    self.fileOptionMenu = OptionMenu(self.master, self.var, *l)
    self.fileOptionMenu.pack()

def openFileCurrentDir(self,*args):
    print("inside openFileCurrentDir()"+self.var.get())