Tkinter GUI über Inkrementalgeber bedienen

  • Hallo,


    Ich würde gerne eine Tkinter GUI über einen Inkrementalgeber steuern. Also verschiedene Buttons anwählen können und diese bestätigen.

    Zur Implementierung eines Inkrementalgebers gibt es asureichend Informationen im Netz.

    Informationen zur Implementierung in Tkinter habe ich jedoch nicht gefunden.


    Vielleicht könnt ihr mir mit einem Ansatz weiterhelfen.


    Gruß Jan

  • Du brauchst ja eigentlich nur etwas das auf die Betätigung des Gebers reagiert.

    Also etwas das entweder ständig die Position prüft und mit dem vorherigen Zustand vergleicht, oder etwas das bei Veränderung etwas selbst auslöst. Und dann in deinem Script für Tkinter eine entsprechende Aktion durchführt. Letzteres unterscheidet sich nicht wirklich gegenüber einer "Tkinter mit GPIO bedienen" Anforderung und dieser Part scheint dir ja unklar zu sein?


    Soweit mir bekannt ist gibt es nur 2 Möglichkeiten ein betätigen einer 'button'-Schaltfläche zu simulieren - wo man nicht über den Touchscreen die Schaltfläche des Buttons drückt:

    1. Dem Button-Objekt zugewiesenen 'command' Callback direkt ausführen.

    2. Dem Button-Objekt zugewiesenen 'command' Callback mithilfe button.invoke() ausführen lassen.


    Nachteil ist bei 2. aber glaub ich das man optisch nicht sieht wie die Schaltfläche des Buttons gedrückt wird. Bei 1. sowieso nicht.

  • Moin!!

    Ich habe mir nun nicht alles durchgelesen..

    Wenn die Schaltfläche durch den Drehgeber ausgewählt, Rahmen rum oder andere Farbe und wenn gedrückt/aktiv wieder andere Farbe.


    Nur mal so


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Okey, vielen Dank schon einmal für die Denkanstöße.

    Der Drehgeber interargiert also nicht direkt mit Tkinter, ich werde mir mal Gedanken machen und was testen.

    Dann poste ich meine Ergebnisse hier mal.


    Gruß Jan

  • Objekt, das aktuell den Fokus hat, ermitteln:

    Code
    root.focus_get()

    Fokus zum nächsten Objekt:

    Code
    root.focus_get().tk_focusNext().focus()

    Button optisch eindrücken für 1/10 Sekunde:

    Code
    myButton.config(relief=SUNKEN)
    myButton.update()
    time.sleep(.1)
    myButton.config(relief=RAISED)

    Button "drücken" (Aktion wird ausgelöst, man sieht aber nichts):

    Code
    myButton.invoke()

    Damit solltest Du Dir das Gewünschte basteln können.