janislaw napsal(a):
Use google to find the appropriate site, or browse this site, there
are plenty of examples. You may want to examine the code I wrote to
you to catch the idea:
#----------------------
import Tkinter
import pprint

tk = Tkinter.Tk()
f = Tkinter.Frame(tk, width=100, height=100)
msg = Tkinter.StringVar()
msg.set('Hello')
l = Tkinter.Label(f,  textvariable=msg)
l.pack()
f.pack()

keys = set()

def keyPressHandler(event):
    keys.add(event.char)
    display()

def keyReleaseHandler(event):
    keys.remove(event.char)
    display()

def display():
    msg.set(str(keys))

f.bind_all('<KeyPress>', keyPressHandler)
f.bind_all('<KeyRelease>', keyReleaseHandler)

f.mainloop()

Is this really the most simple solution how to do this in Tkinter? Is there nothing cleaner "build inside"?

This solution has disadvantage that after you release one key, that the function keyPressHandler stopped to be called by the other pressed keys. I would have not to build moving the player in KeyPresshandler, but on another new function that would have to read periodically "keys" and to act afterwards....

I really tried to search for words mentioned in this subject, but nothing, not even this solution, was found by me.

PK


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to