我有一个PyQT GUI应用程序progress_bar.py
,有一个带有process_files()
函数的外部模块worker.py
,该模块使用文件列表执行一些例行程序,并使用percent
变量报告当前进度。在
我要做的是使用QProgressBar.setValue()
方法报告worker.process_files
的当前进度,但我不知道如何实现它(回调函数或其他什么?)在
以下是我的模块:
进展_棒.py
import sys
from PyQt4 import QtGui
from worker import process_files
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(100, 100, 300, 100)
self.progress = QtGui.QProgressBar(self)
self.progress.setGeometry(100, 50, 150, 20)
self.progress.setValue(0)
self.show()
app = QtGui.QApplication(sys.argv)
GUI = Window()
# process files and report progress using .setValue(percent)
process_files()
sys.exit(app.exec_())
工人.py
^{pr2}$
使
process_files
函数成为一个生成器函数,该函数生成一个值(进度值),并将其作为回调传递到您的Window
类中更新进度条值的方法。我在您的函数中添加了一个time.sleep
调用,以便您可以观察进度:工人.py
^{pr2}$结果:
处理后
file2
相关问题 更多 >
编程相关推荐