Seite 1 von 1

Pfeiltasten/Maus auslesen

Verfasst: Mittwoch 4. Juni 2014, 14:48
von HardwareManager
Gibt es einen weg wie man die Pfeiltasten oder die Maus auslesen kann ohne das Programm aufzuhalten?

Re: Pfeiltsten/Maus auslesen

Verfasst: Mittwoch 4. Juni 2014, 15:34
von Schorlem
Wodurch sollte das Programm denn überhaupt aufgehalten werden?

Auf jeden Fall:

Code: Alles auswählen

root = Tk()
root.bind("<Right>", function)
Natürlich kann die .bind()-Funktion auf jedes Tk-Objekt angewendet werden (alternative Namen wären noch Left, Up und Down für die Pfeiltasten, auf Maustasten gehe ich unten weiter ein). Hier wurde "root" deshalb gewählt, damit die Events global aktiviert werden können.
Allgemeines über Events (da .bind() nicht nur auf Tasten und Mausklicks reagiert) findest du hier, Maustastennamen hier. "<Button-1>" ist die linke Maustaste, "<Button-3>" die rechte und "<Button-2>" ggf. die mittlere. Die ganzen Sachen können zusätzlich noch verändert werden (Doppelklick usw.), näheres weiterhin unter dem ersten Link.

Re: Pfeiltsten/Maus auslesen

Verfasst: Donnerstag 5. Juni 2014, 07:50
von HardwareManager
Schorlem hat geschrieben:Wodurch sollte das Programm denn überhaupt aufgehalten werden?

Auf jeden Fall:

Code: Alles auswählen

root = Tk()
root.bind("<Right>", function)
Natürlich kann die .bind()-Funktion auf jedes Tk-Objekt angewendet werden (alternative Namen wären noch Left, Up und Down für die Pfeiltasten, auf Maustasten gehe ich unten weiter ein). Hier wurde "root" deshalb gewählt, damit die Events global aktiviert werden können.
Allgemeines über Events (da .bind() nicht nur auf Tasten und Mausklicks reagiert) findest du hier, Maustastennamen hier. "<Button-1>" ist die linke Maustaste, "<Button-3>" die rechte und "<Button-2>" ggf. die mittlere. Die ganzen Sachen können zusätzlich noch verändert werden (Doppelklick usw.), näheres weiterhin unter dem ersten Link.

Code: Alles auswählen

from tkinter import *

def f():
    print("<Right>")


root = Tk()
root.bind("<Right>", f())

>>> ================================ RESTART ================================
>>> 
<Right>
>>> 



Es gibt <Right> aus ohne das ich etwas mache.

Re: Pfeiltsten/Maus auslesen

Verfasst: Donnerstag 5. Juni 2014, 08:58
von BlackJack
@HardwareManager: Doch Du machst etwas, nämlich *selber* die Funktion aufrufen. Und an die `bind()`-Methode wird deshalb nicht die Funktion übergeben, sondern deren Rückgabewert. Der ist, da kein explizites ``return`` verwendet wird `None`.