Tasten halten mit bind

Fragen zu Tkinter.
Antworten
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Hallo liebe Community!
Ich wollte fragen, ob es möglich ist, mit bind auch das Halten einer Taste und nicht nur das Drücken derselbigen zu registrieren.
So nach dem Motto

Code: Alles auswählen

root.bind('<Right>',self.rechts)
root.bind('<Right> for 3 seconds',self.schneller_rechts )
Danke im Vorraus!
Der Igel
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Ich nehme an du hast das Tkinter-Forum verfehlt?
In diesem Fall kannst du entweder die Dauer über "ButtonRelease" selbst ermitteln oder Doppel-/Dreifachklicks abfangen.
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Ist denn bind so extrem in Zusammenhang mit der GUI zusehen?
Nun denn: Wie verschiebt man einen Thread?
Und wie fange ich Doppel- /Dreifachklicks ab?
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Ah, schon gefunden mit dem Double-kram.
Aber danke für die schnelle Hilfe!
Saob
User
Beiträge: 23
Registriert: Mittwoch 12. Dezember 2007, 20:11
Kontaktdaten:

bei mir ist das automatisch, wenn ich die figur meines spieles bewegen will, ich einfach gedrückt halte. hab nur

Code: Alles auswählen

if event.keysym == "w" or event.keysym == "Up":
drinne stehen und das geht

aber hier auch ne frage meinerseits: kann ich das bei mir abstellen? wenn ja, wie? häts lieber so, das man nicht gedrückt halten kann
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Wenn du KeyPress-Events bindest, ist das klar. Es werden bei gedrückter Taste in einem gewissen Abstand Events ausgelöst (die Zeit kannst du in deinem Betriebssystem einstellen). Um das zu verhindern kannst du einfach KeyRelease verwenden, das wird nicht einmal ausgelöst.
Antworten