Сообщить о прогрессе в QProgressBar, используя переменную из импортированного модуля
У меня есть приложение PyQT GUIprogress_bar.py
с одним индикатором выполнения и внешним модулемworker.py
сprocess_files()
функция, которая выполняет некоторую процедуру со списком файлов и сообщает о текущем прогрессе, используяpercent
переменная.
Что я хочу сделать, это сообщить о текущем прогрессе т, онworker.process_files
с помощьюQProgressBar.setValue()
метод, но я понятия не имею, как его реализовать (функция обратного вызова или что-то?)
Вот мои модули:
progress_bar.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_())
worker.py
def process_files():
file_list = ['file1', 'file2', 'file3']
counter = 0
for file in file_list:
# do_stuff_with_the_file
counter += 1
percent = 100 * counter / len(file_list)
print percent