Hallo !
Ein kleiner GehrinJogger !
http://paste.pocoo.org/show/29994/
Dr. Kaytecshima ....
So jetzt macht mich mal runter !
gruß frank
GehirnJogger mit Tk
Wenn ich das richtig sehe wird da von einem zweiten Thread aus die GUI manipuliert. Das ist unsicher weil `Tkinter` nicht "thread safe" ist.
Danke an EyDu u. BlackJack !
Eigentlich startet immer nur ein Thread und in seiner Laufzeit sollten die Buttons 'disabled' sein. Macht eigentlich keine Probleme - In einenm Thread nie die GUI manipulieren ?
Bei der fetten grafischen Animation, sollte man auf die Ressourcen achten . Ok - Kommentare füge ich noch ein - bekomme bestimmt dafür 'Haue' und nicht für den code.
Wer nicht postet, der bleibt dumm !
gruß frank
Eigentlich startet immer nur ein Thread und in seiner Laufzeit sollten die Buttons 'disabled' sein. Macht eigentlich keine Probleme - In einenm Thread nie die GUI manipulieren ?
Bei der fetten grafischen Animation, sollte man auf die Ressourcen achten . Ok - Kommentare füge ich noch ein - bekomme bestimmt dafür 'Haue' und nicht für den code.
Wer nicht postet, der bleibt dumm !
gruß frank
Wenn ich das Programm beende bekomme ich diesen Fehler
Exception in thread Thread-8:
Traceback (most recent call last):
File "threading.py", line 460, in __bootstrap
self.run()
File "jogger.py", line 23, in run
self.farbe_aendern(self.intro, self.intro_intervall)
File "jogger.py", line 41, in farbe_aendern
self.button_an_aus[index].config(bg=self.dunkel[index])
File "lib-tk/Tkinter.py", line 1200, in configure
return self._configure('configure', cnf, kw)
File "lib-tk/Tkinter.py", line 1191, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
RuntimeError: main thread is not in main loop
@kaytec: Auf die GUI darf man nur von dem Thread aus zugreifen, in dem die `mainloop()` läuft, sonst kann alles mögliche, bis hin zu harten Abstürzen passieren. Das es bei Dir keine Probleme gibt, hat dabei nichts zu sagen.
Der Beitrag von burli ist so ein Problem was durch den Zugriff aus dem anderen Thread entsteht.
Der Beitrag von burli ist so ein Problem was durch den Zugriff aus dem anderen Thread entsteht.
@ burli
Das passiert bei mir nicht ? Falls ich das Programm mit X beende habe ich auch diese Fehlermeldung - bei laufenden Thread. Beim normalen Beenden passiert dies eigentlich nicht.
@BlackJack
Mein Thread läuft doch in der mainloop() ?! Habe ich da was falsch verstanden? Ich könnte die Buttons auch innerhalb der GUI blockieren, doch wie kann ich testen, ob der Thread noch läuft?
gruß frank
Das passiert bei mir nicht ? Falls ich das Programm mit X beende habe ich auch diese Fehlermeldung - bei laufenden Thread. Beim normalen Beenden passiert dies eigentlich nicht.
@BlackJack
Mein Thread läuft doch in der mainloop() ?! Habe ich da was falsch verstanden? Ich könnte die Buttons auch innerhalb der GUI blockieren, doch wie kann ich testen, ob der Thread noch läuft?
gruß frank
Der Thread läuft nicht in der `mainloop()`. Du hast zwei Threads, einen in dem die `mainloop()` läuft und den "Blinker".
Alle Achtung!kaytec hat geschrieben:Mir nicht mehr - meine Freundin schaft 23 Runden ! Meine Anzahl: ..... Runden. Sie hätte gerne eine Bestenliste.
Jetzt wird es Zeit für den Cheat-Modus....
Kennst Du übrigens "TouchCode"? http://www.pygame.org/project/377/ (Ist mein erstes richtiges Python-Programm)
GnuShi