Da bin ich wieder.
Diesmal dürfte es aber auf jeden Fall eine Kleinigkeit sein, die ich übersehe.
In meinem Skript wird ein externes Programm aufgerufen, wenn der Benutzer einen Button anklickt.
Dieses Ausgabe wird in einem neuen Fenster, das lediglich einen TextView und einen Button enthält dargestellt, damit der Benutzer auch weiß, ob alles richtig funktioniert.
Mit meinem jetzigen Code (siehe unten) funktioniert das auch. Leider aber erst, wenn der Befehl beendet ist. So denkt der Benutzer erstmal, dass das Skript "hängt", oder so.
Code: Alles auswählen
while gtk.events_pending():
gtk.main_iteration()
for item in os.popen(befehl+parameter+' 2>&1').readlines():
textbuffer1.insert_at_cursor(item)
Aber anscheinend gibts das nicht.
Die Idee mit gtk.events_pending oben hatte ich mal in einer Mailingliste bekommen. Aber wirklich lösen lässt sich das Problem nicht. Es hat lediglich den Vorteil, dass das Fenster überhaupt vor Beendigung des Befehls erscheint.
Habt ihr vielleicht eine Lösung für das Problem parat? So ungewöhnlich wird mein Vorhaben ja nicht sein. Gerade in *nix-Umgebungen trifft man ja häufiger auf Programme, die sich so mitteilen.
Marcus