[Python-de] GTK + Threads
Fritz Cizmarov
fritz at sol.at
Fre Nov 5 12:41:42 CET 2004
Hallo Dmitrij,
Der Ansatz mit gtk.events_pending() und gtk.main_iteration() geht schon
in die richtige richtung. Du müsstest die while-Schleife, bzw. die
draw_my_self-Funktion nur innerhalb der rechenintensiven Operationen
ausführen lassen. Es bietet sich dabei an den Fortschritt der
Operationen auch gleich in der Statuszeile und/oder in einem
Fortschrittsbalken anzeigen zu lassen und dort dann die Funktion
draw_my_self aufzurufen.
Gruß
Fritz
On Fri, 5 Nov 2004 11:00:07 +0100 (CET)
Dmitrij Repp <stiner_rd at yahoo.de> wrote:
> Hi all,
>
> ich versuche gerade für mein Programm eine oberfläche
> zu schreiben. Einige Funktionen, die per Mausklick
> aufgerufen werden nehmen relativ viel zeit. Diese zeit
> wird meine oberfläche nicht mehr erneut (wenn ich ein
> anderes Fenster über ziehe, dann bleibt auf dem platz
> nur weise Rechteck). Wenn ich die Funktionen in
> eigenem thread starte, stürzt mein Programm ab. Wie
> kann ich das beheben?
>
> Ich habe auch diese variante ohne threads probiert:
>
> class instanz():
>
> #ausgeschnitten
>
> def draw_my_self(self):
> while gtk.events_pending():
> gtk.main_iteration(1)
> return 1
>
> def __init__(self):
> self.draw_=gtk.timeout_add(1,self.draw_my_self)
> #ausgeschnitten
> gtk.main()
>
> Funktioniert auch nicht, wenn timeout ein mal
> bearbeitet war, wird Oberfläche nicht mehr erneut.
>
> Hat jemand Ideen?
>
>
>
>
>
>
> ___________________________________________________________
> Gesendet von Yahoo! Mail - Jetzt mit 100MB Speicher kostenlos - Hier
> anmelden: http://mail.yahoo.de
>
> _______________________________________________
> python-de maillist - python-de at python.net
> http://python.net/mailman/listinfo/python-de