PyQt5 QProgressDialog Threading (отслеживание прогресса img_crop_function)
Я хотел бы запустить QProgressDialog Modal и Crop_img_function в одно и то же время.(тогда я хотел бы увидеть ход выполнения функции crop_img_function.) Но теперь программа выполняет функцию crop_img_function после закрытия (отмены) модального окна QProgressDialog. Как я могу решить это, пожалуйста?
def run_func(self, interval, path):
modal = QProgressDialog('ing....', 'Cancel', 0, 100, self)
modal.setWindowModality(Qt.ApplicationModal)
modal.exec_()
for frame_num in range(0,self.total_frames,interval):
filename = self.filename.text()[:-4]
self.cap.set(cv2.CAP_PROP_POS_FRAMES, frame_num)
_, img = self.cap.read()
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = self.preprocessing_img(img)
h_grids, v_grids = sorted(self.h_grids), sorted(self.v_grids)
modal.setMaximum(len(h_grids)*len(v_grids))
start_x, start_y = v_grids.pop(0), h_grids.pop(0)
saved_x = start_x
i = 0
for y in h_grids:
for x in v_grids:
modal.setValue(i)
tmp = img[start_y:y, start_x:x]
cv2.imwrite('{}/{}_{}_{}.jpg'.format(path, filename, frame_num, i), tmp)
start_x = x
i += 1
start_x = saved_x
start_y = y