Tkinter .after/ funktion

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich bastel an eine Oberfläche für meine mpd/Haussteuerung.
    Das ganze läuft unter Tkinter und eienm 7 Zoll Touchdisplay.
    Leider habe ich ein Problem wenn ich per Touch Senderwechsle oder Lautstärke ändere:

    Die Touchfunktion wird zwar ausgeführt aber der Labelinhalt aktualiesiert sich nicht.
    mit der .after funktion aber ich schon gespielt nur leider sagt er mir das innerhalb des Scriptes self nicht defeniert ist.

    langsam bin ich am verzweifeln ich werkle jetzt schon das 3 wochenender daran rum aber irgendwie will es nicht.

    wäre schön wenn sich mal einer den Code anschauen kann.

    radio2.zip

  • Das root.after(ms, Funktion) funktioniert nur wenn es auf das Hauptfenster angewendet wird. Also root muss dein vorher definiertes root = Tk() sein. Ich hab dein Skript jetzt nur kurz überflogen (Es startet bei mir nicht und hat Syntaxfehler z.B.: Bei Python kommen ans Ende einer Zeile keine ";") aber das Hauptfenster wird bei dir in einer Funktion definiert und kann deshalb nicht aus dem Hauptprogramm oder einer anderen Funktionen/Klasse heraus aufgerufen werden. Grundsätzlich ist es ja gut das Skript in Funktionen/Klassen zu gliedern, Sachen wie das Hauptfenster und der Mainloop gehören aber (meiner Meinung nach) in das Hauptprogramm.

    Wenn du dynamische Labels brauchst würde ich dafür eine StringVar() verwenden.

    Du solltest die vielleicht den Syntax nochmal anschauen und überarbeiten so dass zumindest eine einfache Version des Programmes lauffähig ist. Danach kannst du es ja immer noch erweitern.

    MfG c3ntry

    Einmal editiert, zuletzt von c3ntry (15. März 2015 um 13:08)

  • bei meine Testscript ändert sich nun einmal der Label-inhalt.
    die frage ist wieso?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!