¿Agregando comando a un Tkinter OptionMenu?

Estoy escribiendo un código en Python 2.7.8 que incluye el widget OptionMenu . Me gustaría crear un OptionMenu que llame a una función cuando se cambie la opción, pero también quiero que las posibles opciones se encuentren en una lista, ya que mi OptionMenu final tendrá muchas opciones.

He utilizado el siguiente código para crear un OptionMenu que llama a una función:

 from Tkinter import* def func(value): print(value) root = Tk() var = StringVar() DropDownMenu=OptionMenu(root, var, "1", "2", "3", command=func) DropDownMenu.place(x=10, y=10) root.mainloop() 

También he encontrado el siguiente código que crea un OptionMenu con las opciones encontradas en una lista:

 from Tkinter import* root = Tk() Options=["1", "2", "3"] var = StringVar() DropDownMenu=apply(OptionMenu, (root, var) + tuple(Options)) DropDownMenu.place(x=10, y=10) root.mainloop() 

¿Cómo crearía un OptionMenu que llame a una función cuando se cambie la opción y obtenga las opciones posibles de una lista?

Nunca hay una necesidad de una llamada de solicitud directa, por lo que se ha eliminado en 2.7 y se ha ido en 3.0. En su lugar, utilice la syntax * seq. Simplemente combina las dos cosas que hiciste. Lo siguiente parece hacer lo que quieres.

 from tkinter import * def func(value): print(value) root = Tk() options = ["1", "2", "3"] var = StringVar() drop = OptionMenu(root, var, *options, command=func) drop.place(x=10, y=10)