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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.