在 PyQT5 中,存在 Progress Bar 这个控件,它的作用是显示当前任务的百分比。
对于这样一个控件,最合适的使用场景就是拿来当计时器,或者下载进度条之类。
有两种典型的 Progress Bar 卡死原因:
1. 没有为 Progress Bar 开辟线程
2. 没有将对 Progress Bar 的操作移到主线程进行
1. 没有为 Progress Bar 开辟线程
以用作计时器为例,需要为 Progress Bar 的任务开一个线程,以避免在计时期间,界面无法进行任何操作。如果在主界面里计时10s,那么在这10s内,界面就会处在类似于锁定的状态,只有当10s计时结束,才能进行别的操作。
如下面这段代码所示,通过操作线程 t 的 pause, resume,来实现对 countDownSingal 的操作,而不是直接把 countDownSingal 放在主线程中操作。
de