Nach mainloop code ausführen
Verfasst: Montag 3. März 2008, 22:03
Hi,
ich habe folgendes Problem mit TkInter:
Ich habe nen Programm geschrieben, dass während seiner Ausführung nen Fenster öffnet.
Jetzt will ich das Programm erweitern und muss dazu nach dem ausführen von mainloop noch code ausführen.
Vereinfacht also:
Da hab ich natürlich als erstes an threads gedacht und dass geschrieben:
Wenn ich das ganze aus der Idle raus starte, wird das Huhu ausgegeben, aber alles schmiert ab.
Wenn ich das Programm, wie ja bei Tkinter üblich, aus der Commandline starte, wird das Huhu nicht ausgegeben, allerdings schmiert auch nichts ab.
Wo liegt da mein Fehler?
Kann ich das Starten der mainloop auch ohne eine Klasse, die von Thread erbt, in einem eigenen Thread realisieren?
Hatte an gedacht.
Ich hoffe mal auf schnelle Hilfe,
Zello
ich habe folgendes Problem mit TkInter:
Ich habe nen Programm geschrieben, dass während seiner Ausführung nen Fenster öffnet.
Jetzt will ich das Programm erweitern und muss dazu nach dem ausführen von mainloop noch code ausführen.
Vereinfacht also:
Code: Alles auswählen
from Tkinter import *
import thread
root=Tk()
but=Button(root,text="blub")
but.pack()
root.mainloop()
print "huhu"
Code: Alles auswählen
class Gui(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
root=Tk()
but=Button(root,text="blub")
but.pack()
root.mainloop()
yada = Gui()
yada.start()
print "huhu"
Wenn ich das Programm, wie ja bei Tkinter üblich, aus der Commandline starte, wird das Huhu nicht ausgegeben, allerdings schmiert auch nichts ab.
Wo liegt da mein Fehler?
Kann ich das Starten der mainloop auch ohne eine Klasse, die von Thread erbt, in einem eigenen Thread realisieren?
Hatte an
Code: Alles auswählen
thread.start_new_thread(self.mainloop())
Ich hoffe mal auf schnelle Hilfe,
Zello