近期写的程序中有个访问网页的操作,比较耗时,于是准备给它加上个状态栏用于提醒当前后台进行到哪一步了。
多线程方式
之前写的程序也有这个需求,当时用多线程解决的。写法如下:
1 | class SetLabelText(QThread): |
另外在主程序中比较耗时的部分添加了调用语句:
1 | self.m1 = SetLabel(self.status_label, u"提醒") |
更简单的方式
多线程虽然看起来是解决问题了,但在面对一个方法中多次修改状态栏内容时还需要更多处理步骤才能完美解决所有问题,这样显得有些大材小用了。在查找资料的过程中发现了更简单的解决问题的方法,就是在主程序中直接写上提醒语句,另外还要加上一行:
1 | self.status_label.setText(u"正在读取配置……请稍候……") |
参考资料: