当我的程序收到新文件文件被复制正常但进度条没有移动...如果可能请建议我一个更好的算法..谢谢
def filetransfer(self):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('',30098))
s.listen(1)
data='val'
while True:
request = s.accept()
if request!=None:
new_sock,addr=request
break
print 'Connected by', addr
destination=open(data,'wb')
while data!='':
time.sleep(0.01)
start=time.time()
data=new_sock.recv(1024)
end=time.time()
xact=int(end-start)
destination.write(data)
self.run(xact)
new_sock.close()
s.close()
return
def run_(self,xact):
gobject.timeout_add(xact, self.update)
def update(self):
if self.progressbar.get_fraction() >= 1.0:
value = 0.0
else:
value = self.progressbar.get_fraction() + 0.1
self.progressbar.set_fraction(value)
percent = value * 100
percent = str(int(percent))
self.progressbar.set_text(percent + "%")
return True
答案 0 :(得分:0)
我不确定为什么这么多人会在评论中回答......
你需要在循环中调用“Update()”,就像上面评论中发布的问题一样。
Progress bar not updating during operation
但是,如果这不起作用,请更新问题,以便我们进一步帮助您。