Hello la ML,
Je me disais bien que j'allais avoir des problèmes avec ça... Soit
quelque chose m'échappe, soit je mélange plusieurs trucs... Ma question
en gros: comment faire pour faire exécuter l'action associée à un
élément choisie dans un menu?
Plus en détails:
# Je crée une fonction:
def monMenu():
# Je crée un menu que j'appelle juste m:
m = sixpad.window.createPopupMenu()
# J'ajoute un élément nommé Elément 1, et j'associe une action nommée
action1:
m.add(label="Elément 1", action=action1)
# Idem pour un 2ème élément:
m.add(label="Elément 2", action=action2)
# Je l'affiche, et au passage je récupère la valeur de retour, dont je
ne sais comment je vais pouvoir l'exploiter:
retour = m.show()
# Comme je croyais que ça suffirait, j'associe cette fonction à la
touche Echap:
sixpad.window.addAccelerator("Escape", monMenu)
A ce point-là, quand j'appuie sur Echap, mon menu apparaît bien, mais
ensuite, le fait de sélectionner un élément et d'apuyer sur Entrée ne
suffit pas pour que quoi que ce soit s'exécute.
Alors après le m.show, j'ai essayé un truc du style:
m[retour]()
mais manifestement, le retour de m.show ne sert pas à ça...
A tout hasard, j'essaie quelque chose du genre:
m[0]() # appelle l'action associée à l'élément 0
Oui, ça permet bien d'exécuter l'action "action1" après avoir appuyé sur
Entrée, mais bien sûr, quel que soit l'élément choisi, alors évidemment
ça ne sert à rien...
Bref, me manque un lien, ou bien j'ai pas tout compris...
So, tous éclaircissement bienvenus...
Merci,
J.-F.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.