2011-09-26 19 views
2

Pour une raison quelconque, je ne peux pas obtenir ce menu d'options, donc appelez la fonction de rappel. Y a-t-il un traitement spécial que ces widgets exigent? (La fonction elle-même fonctionne et je peux l'appeler de dire un bouton.)Le rappel du menu Option Tkinter ne fonctionne pas

self.shapemenu=Tkinter.OptionMenu(self.frame,self.shape,"rectangle", "circular", command=self.setshape) 

self.shape est un Tkinter.StringVar et évidemment SetShape est la fonction de rappel.

Qu'est-ce que je fais mal ici?

Répondre

4

Le menu option est conçu pour définir une valeur et non effectuer une action. Vous ne pouvez pas lui assigner une commande, et si vous le faites, vous casserez son comportement par défaut de définition de la valeur - il utilise l'option de commande en interne pour gérer ses valeurs.

Si vous voulez que quelque chose se produise lorsque la valeur change, ajoutez une trace sur le StringVar.

+0

merci, cela a fonctionné. – Jakob