Tix.Combobox: Comment modifier l'evenement du modification de variable ?
Bonjour à tous,
J'ai un problème avec Combobox de Tix sous Python 2.7:
Lorsque je clique sur un choix de la liste, la variable est modifiée à deux reprises: sur le front montant et descendant du clic gauche.
Ce problème ne survient pas avec l'utilisation de la touche Entrée.
Voila un petit script pour illustrer tout ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import Tix
def fun(evt, string):
print "ComboBox variable changed to "+string
root = Tix.Tk()
var = Tix.StringVar(value = "init")
cbox = Tix.ComboBox(root, variable = var, command = lambda evt: fun(evt, var.get()) )
cbox.insert(0, "un")
cbox.insert(1, "deux")
cbox.pack()
root.mainloop() |
Lorsque l'on clique sur un choix, le print s'affiche deux fois. On peut s'amuser avec des cliquer-glisser pour comprendre que le changement de variable (et donc l'appel de command) se fait sur les fronts montant et descendant du clic de la souris.
Est-il possible de lancer la modification de la variable d'une Combobox uniquement sur front montant (ou descendant) du clic droit ?
J'ai essayé de regarder les docs de Tix (pour ComboBox et ScrollListBox) et Tkinter (pour Listbox) mais je n'ai pas trouvé de solution élegante et simple. Et je n'ai pas vu le sujet evoqué sur le forum.
Merci d'avance pour vos réponse.