当我的程序收到新的文件文件被复制好,但进度条不移动。。。如果可能,请给我推荐一个更好的算法。。谢谢
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
我不知道为什么这么多人在评论中回答。。。在
你需要在一个循环中调用“Update()”,就像上面评论中的问题一样。在
Progress bar not updating during operation
但是,如果这不起作用,请更新问题以便我可以进一步帮助你。在
相关问题 更多 >
编程相关推荐