在upload、dump、erase binary file到Eco上,我們會想知道現在進行的進度。PyGtk中有一個ProgressBar可以拿來使用,Upload的時候,會知道現在透過rs232已經送出了多少bytes,並且也知道整個要上傳binary file的總bytes。
class ProgressBar:
def __init__(self,gladefile,bar_name):
self.gladefile = gladefile
self.dialogboxname = "progressbar_dialog1"
self.bar_name = bar_name
def run(self):
self.wTree = gtk.glade.XML(self.gladefile,self.dialogboxname)
self.progressbar = self.wTree.get_widget(self.dialogboxname)
self.bar = self.wTree.get_widget("progressbar1")
self.bar.set_text(self.bar_name)
def close(self):
self.progressbar.destroy()
def set_fraction(self,val):
if val <= 1.0 and val >= 0.0:
self.bar.set_fraction(val)
else:
self.bar.set_fraction(1.0)
#http://faq.pygtk.org/index.py?req=show&file=faq23.020.htp
while gtk.events_pending():
gtk.main_iteration()
def __init__(self,gladefile,bar_name):
self.gladefile = gladefile
self.dialogboxname = "progressbar_dialog1"
self.bar_name = bar_name
def run(self):
self.wTree = gtk.glade.XML(self.gladefile,self.dialogboxname)
self.progressbar = self.wTree.get_widget(self.dialogboxname)
self.bar = self.wTree.get_widget("progressbar1")
self.bar.set_text(self.bar_name)
def close(self):
self.progressbar.destroy()
def set_fraction(self,val):
if val <= 1.0 and val >= 0.0:
self.bar.set_fraction(val)
else:
self.bar.set_fraction(1.0)
#http://faq.pygtk.org/index.py?req=show&file=faq23.020.htp
while gtk.events_pending():
gtk.main_iteration()
因此create出來的bar object,只要使用set_fraction傳入目前已完成百分比。
0 意見:
Post a Comment