[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