ich folge den tkinter Übungen aus einem Buch. Nun komme ich zum Problem das Python3 unter Linux nicht richtig mit Sonderzeichen umgehen kann. Also bei Tastaturereignissen.
Bis zu e.bind("<p>", kev) funktioniert es wunderbar, dannach laufe ich in folgenden Fehler:
Ersetze ich das "+" durch einen Buchstaben funktioniert es wieder.Traceback (most recent call last):
File "ex17-keys.py", line 20, in <module>
e.bind("<+>",kev)
File "/usr/lib/python3.2/tkinter/__init__.py", line 977, in bind
return self._bind(('bind', self._w), sequence, func, add)
File "/usr/lib/python3.2/tkinter/__init__.py", line 932, in _bind
self.tk.call(what + (sequence, cmd))
_tkinter.TclError: bad event type or keysym "+"
Hat mir hier jemand einen Tipp ?
Gruss, Kev
Code: Alles auswählen
import tkinter
def ende():
main.destroy()
#def kev(e):
#lbanz["text"] = "Zeichen:" + e.char + ", Beschreibung:" + e.keysym + ",codezahl: " + str(e.keycode)
def kev(e):
lbanz["text"] = "Zeichen:" + e.char \
+ ", Beschreibung: " + e.keysym \
+ ", Codezahl: " + str(e.keycode)
main = tkinter.Tk()
#key events
e = tkinter.Entry(main)
e.bind("<p>",kev)
e.bind("<+>",kev)
e.bind("<%>",kev)
e.bind("<,>",kev)
e.pack()
#hilfelabel
lbhlp = tkinter.Label(main, text="taste: p oder + oder % oder ,", width=40)
lbhlp.pack()
#anzeigelabel
lbanz = tkinter.Label(main)
lbanz.pack()
#ende button
bende = tkinter.Button(main, text = "ende", command = ende)
bende.pack()
main.mainloop()