Python pygtk progressbar不工作
当我的程序接收到新文件时,文件复制良好,但进度条不移动。。。如果可能的话,请给我推荐一个更好的算法。。谢谢Python pygtk progressbar不工作,python,pygtk,Python,Pygtk,当我的程序接收到新文件时,文件复制良好,但进度条不移动。。。如果可能的话,请给我推荐一个更好的算法。。谢谢 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
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()”,如上面评论中所述
但是,如果这不起作用,请更新问题,以便我能进一步帮助您。您甚至没有说您使用的是什么gui框架。公认的答案完全满足了这个问题。