def creabackuno():
startbar()
messagebox.showinfo( "Wait..","I am creating the backup, please wait...")
try:
copytree(path,r"backup\dirbackup1\.minecraft")
messagebox.showinfo( "OK!","Backup (1) created!")
stopbar()
except OSError as exc:
messagebox.showerror( "Nope!","There is already a backup to restore")
stopbar()
我对progressbar有问题:
startbar()在图形界面上启动progressbar,但是当start shutil(copytree(path,r“backup\dirbackup1.minecraft”))时,界面冻结,progressbar停止,直到它完成。 谢谢
我使用的是python3.3
对不起,我的英语很差
进度条显示什么?如果要显示复制的文件的百分比,则必须首先获取文件的总长度/字节,然后根据复制的字节数定期更新。这将需要使用“after”每隔那么多毫秒检查一次复制到文件的大小(我想我只是在猜测,但是首先搜索,因为必须有人已经做过类似的事情。)这是我找到的第一个链接https://mail.python.org/pipermail/tkinter-discuss/2010-December/002613.html它可能比你想要的要多,但应该有帮助。在
copytree
是一个同步函数,因此所有代码的执行都将停止,直到它完成为止。虽然tkinter对于线程安全性不高感到遗憾,但我建议您将该命令放在另一个线程中:如果失败,则执行一个错误,如果成功则执行一个。在
在每个
self.pgBar.step(x)
语句后使用self.Frame.update_idletasks()
,其中“x”代表progressbar的值增加的值相关问题 更多 >
编程相关推荐