progress_meter is een Python module die een zeer eenvoudige voortgangsbalk voor langlopende taken biedt.
Het ontwerp is enigszins vergelijkbaar met EasyGUI, waardoor eenvoudige scripts om GUI-ceerde zijn zonder te worden herwerkt in callbacks en een evenement lus. Uiteraard kan worden gebruikt als aanvulling op de gereedschappen in EasyGUI. De interface kan niet zo eenvoudig, maar hopelijk is het maar een beetje ingewikkelder.
progress_meter is gebaseerd op deze code door Michael Lange.
De high-level interface ziet er als volgt uit:
van progress_meter import withprogress
withprogress (300, color = "green")
def demo (foo, bar = Geen):
& Nbsp; for i in range (300):
& Nbsp; # Doe een (of een paar) stappen van de verwerking, dan ...
& Nbsp; opbrengst i
demo ()
U kunt uitzonderingen gebruiken om te zien of de gebruiker geannuleerd het proces voordat het voltooid:
Probeer het volgende:
& Nbsp; demo ()
behalve UserCancelled:
& Nbsp; print ("Cancelled")
anders:
& Nbsp; print ("Completed")
Er is ook een lager niveau-interface waarin u het venster rechtstreeks een instantie:
van progress_meter import MeterWindow
def _demostep (meter, waarde):
& Nbsp; meter.set (waarde)
& Nbsp; als de waarde <1.0:
& Nbsp; value = waarde + 0,005
& Nbsp; meter.after (50, lambda: _demostep (meter, waarde))
& Nbsp; anders:
& Nbsp; meter.set (waarde, 'Demo succesvol afgerond')
def demo ():
& Nbsp; root = MeterWindow (className = 'meter demo')
& Nbsp; root.meter.set (0.0, 'Starting demo ...')
& Nbsp; root.after (1000, lambda: _demostep (root.meter, 0.0))
& Nbsp; root.mainloop ()
Om de voortgangsbalk alleen te gebruiken in een meer complete GUI, kunt u de meter klasse te gebruiken van deze module (die tkinter.Frame subklassen)
Eisen .
< p>- Python
Reacties niet gevonden