Fwd: Re: [Python-de] Tkinter und Fortschritsbalken

Olaf 'ruebezahl' Radicke olaf_rad at gmx.de
Sam Dez 6 22:07:26 CET 2003


Sorry!!!
Ich habe wieder nicht dran gedacht.

----------  Weitergeleitete Nachricht  ----------

Subject: Re: [Python-de] Tkinter und Fortschritsbalken
Date: Samstag, 6. Dezember 2003 21:57
From: Olaf 'ruebezahl' Radicke <olaf_rad at gmx.de>
To: Albert.Hermeling at t-online.de (Albert Hermeling)

Am Samstag, 6. Dezember 2003 19:06 schrieb Albert Hermeling:
[...]

> Die Zahl wird berechnet und auf der Konsole ausgegeben. Die GUI ist aber
> wehrend der Berechnung blockiert. Der Fortschritsbalken bewegt sich nach
> Ende der Berechnung in Eins bis zum Ende.
>
> Weis einer woran das Liegt und wie man das verhindern kann?

Also eine Lösungsansatz hat Georg schon geliefert. Gibt
aber noch mehr....

> Beispiel:
>
> #!/usr/bin/python
> # -*- coding: iso-8859-15 -*-
>
> import Tkinter
> from Tkconstants import *
> import time
> import threading
> import thread

^^^^^^^^^^^

Aha!  ursprünglich wolltest du Thread benutzen.  Was
ist den aus den Plan geworden????

Wolltest du "class Rechne(threading.Thread ):" machen
und  eine "class Progress(threading.Thread ):"
als Pop-up-Fenster Machen und darin ein
def run(self, objekt_rechnen):
	while 1:
		sleep(1)
		prozent = objekt_rechnen.get_Fortschrit()
		if prozent == 100: break
		self._zeichne_balken(prozent)

Dann kannst du mehere Rechnungen parallel machen
und jede hat ihren eigenen Fortschritsbalken.

Es gibt aber bestimmt noch mehr Lösungen.

MfG
Olaf

-------------------------------------------------------