Есть PyQt5 приложение, при нажатии на кнопку, запускается цикл длинною приблизительно в тысячу операций. Мне нужно, чтобы после каждой прокрутки цикла обновлялся прогресбар, на данный момент это реализовано следующим образом:
class MyForm(QtWidgets.QDialog): #Окно отправки сообщения
def __init__(self, parent = None):
super(MyForm, self).__init__(parent)
self.form = Ui_Dialog()
self.form.setupUi(self)
self.progressBar = QtWidgets.QProgressBar(self) #Создание прогресбара
self.progressBar.setGeometry(QtCore.QRect(80, 740, 811, 23))
self.btn = QPushButton("SomebodyButton")
self.btn.pressed.connect(self.start)
def SomebodyButton(self):
procent = 100 / len(mas) #Расчёт прогрес бара
value = 0 #Начальное значение
for i in range(mas):
somebodyFunc()
for i in range(round(procent) + 1):
value += 1
self.progressBar.setValue(value)
time.sleep(0.1)
Какие есть варианты оптимизации данного кода с использованием нескольких процессов, то есть обновлять прогрессбар параллельно с выполнением кода?