Du bist nicht angemeldet.

Werbeanzeige

1

20.06.2010, 13:46

argumente in tk.after(ms, funktion) übergeben (python)

Hallo...
ich schreibe grade mit nem kumpel von mir an einem kleineren spiel und ich wollte jetzt um eine funktion rekursiv aufrufen zu können mit der tkinter funktion after arbeiten. Das klappt auch wunderbar, solange ich keinerlei parameter übergeben will. Ich brauch aber für meine Funktion parameter. An euch jetzt die frage: weiß einer von euch wie ich in after der funktion parameter übergeben kann? und wenn natürlich wie? ansätze bis jetzt sind alle gescheitert auch die argumente in einer liste zu übergeben...
bin jedem der etwas weiß für tipps sehr dankbar!

Grüße
freek

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

2

20.06.2010, 21:22

was hällst du von einem lambda coonstrukt??


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import Tkinter

class Guy(Tkinter.Frame):
    def __init__(self, master):
        Tkinter.Frame.__init__(self, master)

        self.tanzen(5)
    def tanzen(self, i):
        print('I am dancing!\n')*i
        root.after(100, lambda self=self, j=3: self.tanzen(j))


root=Tkinter.Tk()
g=Guy(root)
root.mainloop()
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

3

20.06.2010, 23:16

danke für den tipp! ich hab inzwischen selbst eine möglichkeit gefunden die parameter zu übergeben nämlich einfach als ganz normale parameter nach der funktion als ob es parameter für after wären also immer mit komma normal getrennt das funktioniert auch.
trotzdem danke nochmal!

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

4

21.06.2010, 20:35

kannste ja vll mal gebrauchen wenn du einer funktion per Button-Call parameter übergeben willst. Dann brauchste das auch...
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

Werbeanzeige