pygtk progressbar不工作

2024-05-16 20:44:44 发布

您现在位置:Python中文网/ 问答频道 /正文

当我的程序收到新的文件文件被复制好,但进度条不移动。。。如果可能,请给我推荐一个更好的算法。。谢谢

    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

Tags: 文件selfnewdatatimevaluerequestdef
1条回答
网友
1楼 · 发布于 2024-05-16 20:44:44

我不知道为什么这么多人在评论中回答。。。在

你需要在一个循环中调用“Update()”,就像上面评论中的问题一样。在

Progress bar not updating during operation

但是,如果这不起作用,请更新问题以便我可以进一步帮助你。在

相关问题 更多 >