Bonjour, j'ai un widget text et j'ai fait une fonction selectall pour sélectionnner tout le contenu du widget text. J'ai fait différents test pour m'assurer que le binding est bien spécifique au widget spécifié dans la commande. Mon problème est que si le binding est effectué sur le widget Tk contenant le widget text, ca marche: tout le contenu de mon qidget text est sélectionné (faire ctrl + D dans mon exemple), mais si le binding est fait sur le widget text directement, la sélection ne se fait pas (ctrl, + A). En revanche le binding est bien fonctionnel (ctrl+U) pour mon widget text.
Ou est mon erreur?
comment faire fonctionner ma fonction selectall en la liant au widget text (si c'est possible...)
merci d'avance
voici le code de l'exemple:
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 # -*- coding:Latin-1 -*- #la ligne précédente est pseudo commentaire pour autoriser les é è... ##################### from Tkinter import * import os import string from ScrolledText import * #################################### # Créationd de la fenetre principale def printp1(event): print "binding fonctionnel" def printp2(): print "selection effectuée" # Sélectionne tout dans le widget text def selectall(event): text1.tag_add(SEL, "1.0", END) text1.focus_set() printp2() page = Tk() text1 = ScrolledText(page, width = 50, font = "courier") text1.pack(expand =1, fill='both') text1.insert(END, "tagada") text1.bind("<Control-Key-a>", selectall) page.bind("<Control-Key-d>", selectall) text1.bind("<Control-Key-u>", printp1) page.mainloop()
Partager